我正在使用Ember-CLI,现在我遇到了在我的项目中导入AmplifyJS的问题。我使用Bower下载了Amplify,但该库不是ES6格式。因此,当我尝试在我的项目中使用它时,我根本无法导入它。
基本上我想做:
import Amplify from amplify;
//use amplify here
Brocfile.js
app.import('bower_components/amplify/lib/amplify.js');
由于许多图书馆尚未采用ES6格式,我的问题是:“有没有办法在ES6中轻松导入或使用ES5图书馆”。
如果没有,在Ember中推荐的方法是什么?
答案 0 :(得分:1)
您不能import Amplify from 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_GLOBAL */
或在.jshintrc文件的predefs部分中定义它来使JSHint满意。
答案 1 :(得分:0)
如果您查看代码https://github.com/mikehostetler/amplify/blob/master/lib/amplify.js#L15的第15行,则库会将自身附加到global
,并在此处传递https://github.com/mikehostetler/amplify/blob/master/lib/amplify.js#L124
所以基本上你可以直接使用像amplify.subscribe(...)