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

Sam*_*off 6 ember-cli ember-addon

我正在尝试将Underscore作为命名模块导入到我的Ember CLI插件中.看一下指南的标准AMD资产部分,看起来应该可行:

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

以下是Underscore的来源:

define('underscore', [], function() {
  return _;
});
Run Code Online (Sandbox Code Playgroud)

我试图在我的一个文件中导入它/addon/utils/class.js:

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

并得到一个错误:

无法找到underscore从中导入的模块ember-cli-mirage/utils/class

我做错了什么?

rol*_*lls 3

这就是问题if (typeof define === 'function' && define.amd)

define.amd未在 ember-cli 的 loader.js 中定义

解决方案:

  • 自己包一下吧
  • 使用 browserify 为您进行包装
  • 使用 LoDash 代替(这是我的建议 - 简单、简单、问题得到解决,并且您还有时间在海滩酒吧多喝一杯莫吉托酒;))。