如何将Underscore作为模块导入我的Ember CLI插件?

时间:2015-04-05 17:42:12

标签: ember-cli ember-addon

我正在尝试将Underscore作为命名模块导入我的Ember CLI插件。查看指南的Standard AMD Asset部分,看起来应该可行:

app.import(app.bowerDirectory + '/underscore/underscore.js', {
  exports: {
    'underscore': ['default']
  }
});

以下是Underscore's source的行:

define('underscore', [], function() {
  return _;
});

我尝试将其导入我的一个文件/addon/utils/class.js

import _ from 'underscore';

并收到错误:

  

无法找到从underscore

导入的模块ember-cli-mirage/utils/class

我做错了什么?

1 个答案:

答案 0 :(得分:3)

这是problemif (typeof define === 'function' && define.amd)

在ember-cli的loader.js中定义了

define.amd not

解决方案:

  • 自己包裹。
  • 使用browserify为您执行换行
  • 使用LoDash代替(这是我的建议 - 容易,豌豆,问题解决了,你有时间在海滩酒吧额外一轮mojitos;)。)。