如何在ember-cli中导入amd模块?

Mic*_*che 16 ember-cli

我在很大的帮助下构建了一个EmberJS应用程序ember-cli,这很棒,但我有一个错误,我找不到我做错了什么.

这是我在西兰花文件中做的事情:

app.import('vendor/underscore/underscore.js', {
    exports: {
        "underscore": [
            "underscore"
        ]
    }
});
Run Code Online (Sandbox Code Playgroud)

然后在我的一个控制器中:

import _ from "underscore";
Run Code Online (Sandbox Code Playgroud)

ember-cli 构建我的应用程序

但是当我使用下划线进入控制器时,我收到错误:

错误:找不到模块下划线.

我究竟做错了什么?

gre*_*ott 5

尝试:

app.import({
  development: 'vendor/underscore/underscore.js',
  production:  'vendor/underscore/underscore.min.js'
}, {
  'underscore': [
    'default'
  ]
});
Run Code Online (Sandbox Code Playgroud)

这将至少给出"import _ from'下划线';" 有机会工作.如果您选择AMD或ES6版本的下划线/ lodash,请列出要使用"default"导入的模块.

编辑:

使用下划线是否至关重要?为什么我问,我正在使用lodash和一个Ember-cli项目,它运行正常.

Console> bower install lodash --save
Run Code Online (Sandbox Code Playgroud)

然后在Brocfile中:

app.import({
  development: 'vendor/lodash/dist/lodash.js',
  production:  'vendor/lodash/dist/lodash.min.js'
}, {
  'lodash': [
    'default'
  ]
});


//or:
app.import('vendor/lodash/dist/lodash.min.js');
Run Code Online (Sandbox Code Playgroud)

至于下划线 - devDependencies没有捆绑存在问题,其中下划线是一个.