我对ember很陌生,当我开始遇到一个问题时,我尝试构建一个小的待办事项列表应用程序,我尝试通过bower install moment
安装时刻包但不知何故导入包进入 ember-cli-build.js 的包没有用。我遇到了一个解决方案,说我应该npm install moment
运行它,这对我有用。
在上述事件之后,我尝试从bower_components中删除moment包并将路径更改为node_modules。虽然这没有用,但却打破了我的应用程序。我收到以下错误:
The Broccoli Plugin: [SourceMapConcat: Concat: Vendor /assets/vendor.js] failed with:
Error: ENOENT: no such file or directory, open '/Users/kshitij/scratch/ember-projects/em-app/tmp/source_map_concat-input_base_path-UJQvdiAo.tmp/node_modules/moment/min/moment.min.js
我的问题:尝试将bower包移动到npm是否正确?如果是,那么为什么在这种情况下不能解决?
注意:我也可以通过在应用程序目录中的 .jshint.rc 文件的“predef”块添加“moment”来解决问题,但我想知道为什么npm方法成功,以及为什么将时刻包完全从bower移植到npm不起作用。
答案 0 :(得分:1)
在ember-cli-build.js
中,您只能提及vendor
文件夹或bower_components
文件夹,您不能提及node_modules
文件夹。
您无需执行npm install moment
或bower install moment
即可安装时刻套件到ember,您可以ember install ember-moment
执行相当于npm install ember-moment --save-dev
和{{1}的操作}}
请参阅this answer了解可能的方式,包括时刻套餐。