TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Plasmo – A framework for building modern Chrome extensions

202 点作者 akiselev9 个月前

15 条评论

rahulraikwar008 个月前
i personally don&#x27;t recommend it until they have a well written document as a lot of thing are not clear seems over encapsulated, you have to figure out yourself.. you have a better option you can try WXT (<a href="https:&#x2F;&#x2F;wxt.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;wxt.dev&#x2F;</a>)) also i don&#x27;t find current scaled project that are using it. soo yh... try break build fix that&#x27;s what we do
vzaliva9 个月前
The title may be little misleading. It is not Chrome-specific but also support Firefox and some other (Chromium-based) browsers:<p><a href="https:&#x2F;&#x2F;docs.plasmo.com&#x2F;framework&#x2F;workflows&#x2F;faq#what-are-the-officially-supported-browser-targets" rel="nofollow">https:&#x2F;&#x2F;docs.plasmo.com&#x2F;framework&#x2F;workflows&#x2F;faq#what-are-the...</a>
FBISurveillance9 个月前
I also suggest checking out WXT (<a href="https:&#x2F;&#x2F;wxt.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;wxt.dev&#x2F;</a>) as an alternative (it&#x27;s also faster using Vite and supports more frameworks).
评论 #41306192 未加载
评论 #41307531 未加载
评论 #41311632 未加载
评论 #41309220 未加载
aabhay9 个月前
If you’re looking for a Vue-flavored dev experience as opposed to a react one, I recommend this:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;antfu-collective&#x2F;vitesse-webext">https:&#x2F;&#x2F;github.com&#x2F;antfu-collective&#x2F;vitesse-webext</a><p>Building a web extension is pretty straightforward in Vite-land. There are some rough edges around hot reloading, but I doubt it could get that much better.
devvvvvvv9 个月前
Importantly for anyone who dislikes ads: seems to support Firefox too
评论 #41306265 未加载
creesch9 个月前
The project might do a better job of explaining what it actually intends to solve. At least as far as the readme.md goes.<p>I have been active in the area of browser extension development for over a decade now. And to me, it wasn&#x27;t very clear at first glance.<p>It isn&#x27;t crossbrowser extension development (which these days is actually fairly easy if you ignore Safari.... [0]).<p>The README showcases adding a lot of other frameworks and scaffolding, which to me isn&#x27;t what makes extension development all that challenging. In fact, using a modern modular approach can be achieved using something like rollup [1].<p>Of course, I do believe that Plasmo makes setting it all up a lot easier. But just looking at the terminal animation I also can&#x27;t help but feel that it adds a lot of abstraction I might regret later. To be clear, I also do realize that some people don&#x27;t mind this and think it is easier to not have to think about the details.<p>Only when digging a bit deeper into the actually documentation [2] it starts to make more sense to me. From what I gather:<p>- Manifest creation is done entirely by plasma. You can just declare the thing you want to use or create in the right place like an options page [3]. Which is actually quite neat and something I can see makes things a bit easier for someone freshly starting with extensions. Although I&#x27;d argue that the manifest of an extension is not the most complex thing [4], even more when I see that for that with Plasmo you still need to declare similar things just at a different spot [5]<p>- It provides some scaffolding and abstractions around things like storage and messing between content_scripts and background workers.<p>- There are some neat utilities available for publishing extensions.<p>Overall, it looks like it like it does take away the creation of an extension and a lot of the utility functions you would need to write anyway. However it comes at the cost, in my opinion, of extreme abstraction to the degree that a beginner basically will have learned Plasmo and still have next to no understanding of browser extensions themselves.<p>It&#x27;s one of those things where I wish this sort of tooling was available around a decade ago but I am also glad that it was not given the knowledge it gained me.<p>[0] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=41043974">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=41043974</a><p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;toolbox-team&#x2F;reddit-moderator-toolbox&#x2F;blob&#x2F;master&#x2F;rollup.config.js">https:&#x2F;&#x2F;github.com&#x2F;toolbox-team&#x2F;reddit-moderator-toolbox&#x2F;blo...</a><p>[2] <a href="https:&#x2F;&#x2F;docs.plasmo.com" rel="nofollow">https:&#x2F;&#x2F;docs.plasmo.com</a><p>[3] <a href="https:&#x2F;&#x2F;docs.plasmo.com&#x2F;framework&#x2F;ext-pages#adding-the-options-page" rel="nofollow">https:&#x2F;&#x2F;docs.plasmo.com&#x2F;framework&#x2F;ext-pages#adding-the-optio...</a><p>[4] <a href="https:&#x2F;&#x2F;github.com&#x2F;toolbox-team&#x2F;reddit-moderator-toolbox&#x2F;blob&#x2F;master&#x2F;extension&#x2F;chrome_manifest.json">https:&#x2F;&#x2F;github.com&#x2F;toolbox-team&#x2F;reddit-moderator-toolbox&#x2F;blo...</a><p>[5] <a href="https:&#x2F;&#x2F;docs.plasmo.com&#x2F;framework&#x2F;content-scripts#adding-a-single-content-script" rel="nofollow">https:&#x2F;&#x2F;docs.plasmo.com&#x2F;framework&#x2F;content-scripts#adding-a-s...</a>
评论 #41308047 未加载
评论 #41311040 未加载
kelvie9 个月前
Tangentially related, I&#x27;ve always wondered why there aren&#x27;t better frameworks for creating userscripts.<p>I like customizing websites for various things, but it would be nice if I had some library I can pull into a userscript purpose-built for customizing websites (like adding pop-up config dialogs, in-line boxes to take personal notes &#x2F; comment on websites, or just tools geared toward injecting and scanning the DOM using mutationobservers).<p>... or is this that, since userscripts are implemented via browser extensions anyway
评论 #41309007 未加载
piperswe9 个月前
Are there any examples of (real, third-party) extensions built with Plasmo?
评论 #41306339 未加载
pvg9 个月前
Some more discussion in a Show HN two years ago <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31609896">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31609896</a>
Crier10029 个月前
i built a chrome extension recently and i was evaluating&#x2F;trying out different frameworks for building a browser extension.<p>for anyone who is interested for an alternative to Plasmo, i chanced upon <a href="https:&#x2F;&#x2F;github.com&#x2F;extension-js&#x2F;extension.js">https:&#x2F;&#x2F;github.com&#x2F;extension-js&#x2F;extension.js</a>
Jackobrien9 个月前
Experimented with Plasmo in April and found it super easy to use! Was surprised I hadn’t heard about it until I went looking.
zipping15499 个月前
Didn&#x27;t know eztension framework was a thing
kwerk9 个月前
I love Plasmo
2Gkashmiri9 个月前
how do you build a single browser extension and then have compatible firefox&#x2F;chrome files that are different in what they require for their own thing.<p>i mean currently we are doing terribly stupid thing. two folders &#x2F;firefox and &#x2F;chrome and do the updates manually in both. there should be something easier.
评论 #41309116 未加载
评论 #41309073 未加载
评论 #41308391 未加载
electricduck9 个月前
This should have really said &quot;WebExtension extensions&quot; instead of &quot;Chrome extensions&quot; as it&#x27;s a standard across most modern browsers these days
评论 #41310731 未加载
评论 #41309361 未加载