如何在 ember-cli 中使用我的 ember-data 分支?

How do I use my fork of ember-data in ember-cli?

我正在处理 ember-data 的拉取请求,我希望能够在我的 ember-cli 应用程序中测试这些更改。

按照使用金丝雀 here or here 的说明进行操作是行不通的,因为我的叉子没有构建我的 components

我尝试在 packages.jsonbower.json 中引用我的分叉和分支;然后我得到这个错误:

Path or pattern "bower_components/ember-data/ember-data.js" did not match any files

然后我可以手动构建 ember-data 并将文件复制到 bower_components/ember-data/ember-data.js。但是,我想要一种简化的方式来使用 ember-data 的分支,这样我就可以在没有冗长的安装过程的情况下使用和测试我的拉取请求。

有没有更好的方法?

谢谢!

您可以使用指向本地版本的 bower and/or npm 依赖项的符号链接。

转到 ember-data 和

的本地(分支)版本
npm link
bower link

这将为您的本地版本创建一个全局符号链接。

然后转到您使用依赖项的位置并

npm link ember-data
bower link ember-data

这将使 node_modules/ember-databower_components/ember-data 成为您本地版本的符号链接。

有关这些工作原理的更多详细信息,请参阅 https://docs.npmjs.com/cli/link and http://bower.io/docs/api/#link

您收到该错误是因为您正尝试将 ember-data 的 NPM 包与 Bower 一起使用,而 Bower 需要 ember-data 进行预编译。您分叉 emberjs/data 并在 package.json 中引用您的分叉是正确的。以下是我为 Bower 编译叉子的方式:

在你的分叉回购中,运行 npm installnpm run build:productiondist 目录中编译你的分叉。

然后为 bower fork ember-data shim:components/ember-data。将以下文件从您的 ember-data 分支的 dist 目录复制到 shim 的目录中:

  • bower.json
  • component.json
  • composer.json
  • ember-data.js
  • ember-data.js.map
  • ember-data.min.js
  • ember-data.prod.js
  • package.json

如果您想添加自己的版本标签,请编辑 bower/package 文件。将 shim 存储库提交给分支或主服务器,然后在 ember-cli 应用程序的 bower.json 文件中引用该提交。然后 运行 npm installbower install 在您的 ember-cli 应用中。