Ember.js 如何导入非amd库ember cli
我正在使用Ember CLI,现在我面临在项目中导入AmplificJS的问题。我使用Bower下载了Amplify,但该库不是ES6格式。因此,当我试图在我的项目中使用它时,我根本无法导入它 基本上我想做: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导
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');