【问题标题】:How do you import a newly created ember addon?如何导入新创建的 ember 插件?
【发布时间】:2015-05-26 19:32:54
【问题描述】:

我正在尝试创建我的第一个 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)这是我的问题,但我不确定我还需要做什么来设置我的插件。

【问题讨论】:

  • 如果你不发布到 npm,你必须 link 你的插件到你的 ember 项目
  • 感谢@MilkyWayJoe,但我认为这不是问题所在。我将插件发布到 github 上的私人仓库,然后将其安装在测试应用程序中(我将安装步骤添加到我的问题中)。我也按照您的建议尝试了 npm 链接,但仍然出现相同的错误。

标签: ember.js ember-cli ember-cli-addons


【解决方案1】:

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。然后运行npm link &lt;your-addon-name&gt; 会和npm installing 一样的效果。

您仍然需要手动将其添加到您的 package.json(编译应用时需要 ember-cli 找到它)并运行 default blueprint(如果您的插件有)。

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

【讨论】:

  • 我会接受这个作为答案,因为使用本地 repo 绝对是要走的路。我忘记了从 github 导入有什么问题,但将插件保存在本地肯定更容易。
  • 是的,当然对于开发来说,链接是要走的路。但是,如果您正在其他地方(CI 或其他东西)构建,那么我相当肯定您应该像平常一样从私人仓库安装......无论如何,很高兴你把它整理好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多