更新 ember-cli 2.11.0 版本后如何使用 npm 代替 bower?

After update ember-cli 2.11.0 version how to npm instead of bower?

当我将 ember-cli 更新为 2.11.0 时,我发现 EMBER NO LONGER SUPPLIED VIA bower。所以我检查 npm 而不是 bower,但我不知道该怎么做。

比如moment.js使用bower的样子:

bower.json

"dependencies": {
  ...
  "moment": "2.14.1"
}

ember-cli-build.js

...
app.import('bower_components/moment/moment.js');
...

.jshintrc

...
"moment": true,
...

这样可以在helpcontroller中运行。

但我使用 npm 并设置 ember-cli-build.js 代码 app.import('node_modules/moment/moment.js'); 有错误。

而且css也有这个问题。

在 ember-cli 中使用 npm 而不是 bower 的最佳方式是什么?谢谢。

  1. 通过ember-browserify

    npm install ember-browserify --save-dev
    npm install moment --save-dev

可以通过import moment from 'npm:moment'

导入
  1. 尝试ember-cli-moment-shim
  2. ember 包不通过 bower 提供。这并不意味着您根本不能使用 Bower。您仍然可以像以前一样使用 bower.json 并包含它。
  3. 您可以将其放在 vendor 文件夹中并将其包含在 ember-cli-build.js 文件中。但为了 moment.js 包含。这不是正确的方法。

我更喜欢 1 或 2 个选项。并且 3 和 4 不适用于这种情况。