0

在这个 angular2 plunkr中,我正在尝试导入 two.js(第三方库)并将其引导到我的应用程序中。使用 system.config.js,我在映射和包 vars 中添加了以下几行:

  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(…)
4

1 回答 1

1

这个错误发生在线路上:

hasEventListeners: _.isFunction(root.addEventListener),

如您所见isFunction,它是一种_对象方法。是下划线。

从 Two.js文档

注意 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将是您想要的功能。

普朗克

于 2016-07-29T18:34:37.550 回答