(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=40210627

Extension.js 是一个简化的工具,用于使用 TypeScript、WebAssembly、React 和现代 JavaScript 等流行技术创建浏览器扩展。 它通过消除其他类似工具中常见的冗长配置设置来简化开发过程。 首先,只需在您的 npm 脚本中包含 Extension.js 即可立即访问功能,而无需复杂的构建或掌握框架。 Extension.js 的创建者有意开发它来帮助那些刚接触浏览器扩展创建的人,通过抽象复杂的配置,实现从想法到实现的快速进展。 使用“创建”命令轻松启动您的扩展。 示例:`npx extension@latest create my-extension` 或 `git hub_link`,例如“https://github.com/username/repo”。 鼓励实验,快乐发展!

相关文章

原文
Hello HN! I'm the creator and solo developer of Extension.js, a development tool for browser extensions with built-in support for TypeScript, WebAssembly, React, and modern JavaScript. Developers use it to spend less time configuring the compilation config or learning new frameworks and more time actually writing code.

Most projects similar to Extension.js rely on some sort of abstraction or configuration to get started, making the initial development process slow given the extra learning curve and setup guidelines. By using Extension.js, adding the package to your npm scripts is all it takes to get started developing cross-browser extensions with no build configuration. Say goodbye to extensive configurations to create your next cross-browser extension!

Creating a new extension is super easy. This command will create a new extension named "my-extension" in the current working directory. In your terminal:

npx extension@latest create my-extension

You can also create an extension based on any extension hosted on GitHub. Just add the URL of the folder where the manifest is located and run `npx extension@latest dev `. For instance, you can try the Chrome Sample "page-redder" (https://github.com/GoogleChrome/chrome-extensions-samples/tr...).

I first created this project as a way to teach others how to develop browser extensions, until I realized that a good amount of my teachings would involve setting up a new project. With Extension.js, the abstractions and configurations needed to create cross-browser extensions are handled by a simple command-line interface, allowing developers to focus on the actual development of their next extension.

Any feedback is appreciated. I've been using it for a while in personal projects but it is now mature enough for others to give it a go. I'm looking forward to hear what you all have to say! :D

联系我们 contact @ memedata.com