我正在将一个旧学校的Ember应用程序(用咕噜声构建)转换为Ember CLI,我面临着一个我似乎无法解决的奇怪问题。
当我使用Ember serve
启动应用并在浏览器中访问它时,我收到两个错误:
Uncaught Error: Could not find module handlebars
Uncaught Error: Could not find module ember
我不知道该寻找什么,因为我在Broccoli中导入把手和余烬,据说用正确的语法。
这是我的Broccoli.js
:
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var app = new EmberApp();
app.import('bower_components/jquery/dist/jquery.js');
app.import('bower_components/handlebars/handlebars.js');
app.import('bower_components/jquery-validation/dist/jquery.validate.js');
app.import('bower_components/jquery-validation/dist/additional-methods.js');
app.import('bower_components/recaptcha-ajax/recaptcha_ajax.js');
app.import('bower_components/noty/js/noty/packaged/jquery.noty.packaged.js');
app.import('bower_components/d3/d3.min.js');
app.import('vendor/noty/noty-custom-theme.js');
app.import({
development: 'bower_components/ember/ember.js',
production: 'bower_components/ember/ember.prod.js'
});
module.exports = app.toTree();
在应用程序中,我使用标准ES6语法导入Ember:
import Ember from 'ember';
export default Ember.Route.extend({
...
});
这是凉亭名单的样子:
application
├─┬ bootstrap-sass-official#3.3.1
│ └── jquery#2.1.1
├── d3#3.4.13
├─┬ ember#1.9.0-beta.4
│ ├── handlebars#2.0.0
│ └── jquery#2.1.1
├─┬ ember-c3#0.1.3
│ ├─┬ c3#0.4.5 (0.4.7 available)
│ │ └── d3#3.4.13
│ ├── ember#1.9.0-beta.4
│ └── handlebars#2.0.0 incompatible with ^1.3.0 (1.3.0 available, latest is 2.0.0)
├─┬ ember-cli-shims#0.0.3
│ └── ember#1.9.0-beta.4
├── ember-cli-test-loader#0.0.4
├─┬ ember-data#1.0.0-beta.12
│ └── ember#1.9.0-beta.4
├─┬ ember-load-initializers#0.0.2
│ └── ember#1.9.0-beta.4
├─┬ ember-qunit#0.1.8
│ ├── ember#1.9.0-beta.4
│ └── ember-data#1.0.0-beta.12
├─┬ ember-qunit-notifications#0.0.4
│ └── qunit-notifications#0.0.3
├─┬ ember-resolver#0.1.10
│ └── ember#1.9.0-beta.4
├── fontawesome#4.2.0
├─┬ fuelux#3.3.1
│ ├─┬ bootstrap#3.2.0 (latest is 3.3.1)
│ │ └── jquery#2.1.1
│ ├── jquery-1.11.0#1.11.0 (latest is 2.1.1)
│ ├── moment#2.7.0 (latest is 2.8.4)
│ └── requirejs#2.1.15
├── handlebars#2.0.0
├── jquery#2.1.1
├─┬ jquery-validation#1.13.1
│ └── jquery#2.1.1
├── loader.js#2.1.1
├── noty#2.3.2
├── qunit#1.15.0
└── recaptcha-ajax#ea58c14d98
我试过了:
npm uninstall -g ember-cli && npm cache clear && npm install -g ember-cli#0.12
重新安装ember-cli - 没有运气...... 以下是版本:
$ ember version --verbose
version: 0.1.2
http_parser: 1.0
node: 0.10.33
v8: 3.14.5.9
ares: 1.9.0-DEV
uv: 0.10.29
zlib: 1.2.3
modules: 11
openssl: 1.0.1j
npm: 2.1.3
发生了什么事?
我还在这里打开了一个ember-cli的问题: https://github.com/stefanpenner/ember-cli/issues/2636
任何指针都将非常感谢!
谢谢!
答案 0 :(得分:1)
事实证明这是Ember CLI 0.1.3的一个错误。我在这里开了一张票: https://github.com/stefanpenner/ember-cli/issues/2636
由于Windows上的其他错误,0.1.4版本也无法在Windows上运行。
如果您遇到此问题,请使用版本0.1.2(可以使用)或尝试更新版本(如果在您遇到问题时存在)。