如何导入新创建的 ember 插件?

How do you import a newly created ember addon?

我正在尝试创建我的第一个 Ember 插件,但我无法将其导入到 Ember 项目中。我已经创建了插件并像这样发布到 github:

ember-cli$ ember addon test-addon
ember-cli$ cd test-addon
ember-cli/test-addon$ git remote add origin <github-url>

然后,从我的项目中安装插件:

test-app$ ember install <github-url>

最后,尝试将其导入路由:

# app/rotues/index.coffee
import TestAddon from 'test-addon'

但是,我在控制台上收到此错误:

Uncaught Error: Could not find module `test-addon` imported from `test-app/routes/index`

有什么地方出错了吗?我可以在 node_modules 目录中看到该插件,但在 bower_components 中看不到。我认为(tm)这是我的问题,但我不确定我还需要做什么来设置我的插件。

tl;博士

cd my-addon
npm link
cd /my/project/dir
npm link my-addon
ember g my-addon  # run default blueprint

然后将 "my-addon": "*" 添加到应用 package.jsondevDependencies 部分并重新启动 ember-cli 应用服务器。

更长的答案

包含本地开发插件的最简单方法是 use NPM's link

首先 运行 npm link 从你的插件项目的根目录开始,用 npm 注册它。然后 运行ning npm link <your-addon-name> 将与 npm installing 具有相同的效果。

您仍然需要手动将它添加到您的 package.json(ember-cli 在编译您的应用程序时需要它来找到它)和 运行 default blueprint(如果你的插件有一个)。

如果这似乎不起作用,请检查您是否在插件中创建了 package.json keywords 列表中的 "ember-addon"(默认 ember-cli 插件蓝图应该为你做这个)。