Ember.js 如何导入非amd库ember cli

Ember.js 如何导入非amd库ember cli,ember.js,ember-cli,Ember.js,Ember Cli,我正在使用Ember CLI,现在我面临在项目中导入AmplificJS的问题。我使用Bower下载了Amplify,但该库不是ES6格式。因此,当我试图在我的项目中使用它时,我根本无法导入它 基本上我想做: import Amplify from amplify; //use amplify here Brocfile.js 由于许多库尚未采用ES6格式,我的问题是:“是否有一种方法可以轻松地在ES6中导入或使用ES5库” 如果没有,在Ember中推荐的方法是什么?您不能从Amplify导

我正在使用Ember CLI,现在我面临在项目中导入AmplificJS的问题。我使用Bower下载了Amplify,但该库不是ES6格式。因此,当我试图在我的项目中使用它时,我根本无法导入它

基本上我想做:

import Amplify from amplify;

//use amplify here
Brocfile.js

由于许多库尚未采用ES6格式,我的问题是:“是否有一种方法可以轻松地在ES6中导入或使用ES5库”


如果没有,在Ember中推荐的方法是什么?

您不能
从Amplify导入Amplify因为它不是一个模块

您几乎已经获得了它,但不要尝试导入库。您需要像在ember cli应用程序之外一样,将其作为全局应用程序引用

从文档中:

提供资产路径作为第一个也是唯一的参数:

app.import('bower_components/moment/moment.js');
在这里,您可以使用文档中指定的包,通常是一个全局变量。在这种情况下,它将是:

import Ember from 'ember';
/* global moment */
// No import for moment, it's a global called `moment`

// ...
var day = moment('Dec 25, 1995');
注意:不要忘记在模块中添加一个
/*global MY\u global*/
,或者在.jshintrc文件的predefs部分中定义它,让JSHint感到高兴

--


如果您查看代码的第15行,库将自身附加到此处传入的
global


所以基本上你可以在任何地方直接使用全局版本的库,比如
amplify.subscribe(…)

,所以基本上Ember正在大力推广ES6,但在其他地方我们无法正确使用它,。。我不知道你是什么意思。该库不是作为ES6模块编写的。这不是恩伯的错。。。如果它是以ES6模块的形式编写的,您也可以使用它。非常感谢您提供的/*全局…*/建议,我错过这一部分只是为了让我的ESLint合作。
import Ember from 'ember';
/* global moment */
// No import for moment, it's a global called `moment`

// ...
var day = moment('Dec 25, 1995');