如何在ES6中创建插件(无构建系统)

时间:2016-10-04 20:16:32

标签: aurelia aurelia-cli

我试图将我的Aurelia自定义元素之一移动到它自己的Git仓库中,这样我就可以npm install并在多个项目中使用它。

我希望简单地提交元素所包含的一个JS文件(它使用@inlineView)(以及package.json)并简单地将其导入Aurelia,所以我做了:

  1. $ npm install powerbuoy/my-plugin-name
  2. my-plugin-name添加到aurelia.json
  3. 中的依赖项列表中
  4. use.plugin('my-plugin-name')添加到main.js(我还尝试过使用globalResources()feature())(我还试过../node_modules/my-plugin-name/index )。
  5. 似乎没什么用。

    我的插件代码必须是ES6吗?是否必须在之前将其转换为我将其包含在我的项目中?如果这是正确的,有人可以解释为什么需要这样做以及是否有解决方法?

    将一个文件移动到自己的仓库会更容易,而不是为一个文件设置一个全新的骨架应用程序。

1 个答案:

答案 0 :(得分:2)

您的插件大部分都可以是ES2015。主要的例外是您不能使用import模块语法,因为任何浏览器都不支持。这也意味着不支持插件使用的export class语法。

所以,至少,你需要将你的插件转换为CommonJS或AMD模块格式。如果您仅使用支持ES2015的浏览器,并且您只使用本机浏览器支持的功能,那么您可以本机运行ES2015代码,除了上面提到的模块内容。