我正在尝试创建我的第一个Ember AddOn,而我却陷入了将其导入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中看到.我认为(这个)这是我的问题,但我不确定我还需要做些什么来设置我的插件.
解决方法
TL;博士
cd my-addon npm link cd /my/project/dir npm link my-addon ember g my-addon # run default blueprint
然后将“my-addon”:“*”添加到应用程序的package.json的devDependencies部分,然后重新启动ember-cli app服务器.
更长的答案
包含本地开发的插件的最简单方法是use NPM’s link
首先从你的插件项目的根目录运行npm链接,用npm注册它.然后运行npm link< your-addon-name>将与安装它的npm具有相同的效果.
你仍然需要手动将它添加到你的package.json(ember-cli在编译应用程序时需要它)并运行default blueprint(如果你的插件有一个).
如果这似乎不起作用,请检查您是否已在关键字列表中使用“ember-addon”在插件中创建了package.json(默认的ember-cli插件蓝图应该为您执行此操作).