在这个angular2 plunkr中,我试图导入two.js(第三方lib)并将其引导到我的应用程序中。使用system.config.js,我在映射和包变量中添加了以下行:
var map = {
...othermappings
'two.js' : 'https://npmcdn.com/two.js@0.6.0/src'
};
var packages = {
...otherpackages
'two.js': { main: 'two.js', defaultExtension: 'js' },
}
在main.ts内部,如果我取消注释以下行:
import {Two} from 'two.js';
并补充说:
bootstrap(AppComponent, [
...others,
//Two
])
我得到了以下错误:
(index):20 Error: TypeError: Cannot read property 'isFunction' of undefined(…)
答案 0 :(得分:1)
该行发生此错误:
hasEventListeners: _.isFunction(root.addEventListener),
正如您所看到的,isFunction
是_
对象的方法。它是下划线。
来自Two.js documentation:
N.B。 Two.js需要Underscore.js和Backbone.js事件。如果你是 已经将这些文件加载到其他地方然后您可以构建项目 你自己,文件大小更小。
这样,第一步是加载下划线和主干plunkr
请参阅 index.html
<!-- Two.js dependencies -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
第二步是从
更改您的导入声明import {Two} from 'two.js';
到
import * as Two from 'two.js'
之后Two
将是您想要的功能。
<强> Plunker 强>