Angular2 2.4如何将外部库作为Underscore加载到angular2中。

时间:2017-02-12 22:25:13

标签: angular webpack external systemjs

我使用angular-cli创建了一个应用程序,我需要导入外部库,如下划线。我是角度2.4的新手,并且之前没有使用过SystemJS和Webpack。有人可以一步一步地告诉我如何将下划线加载到我的角度2.4项目中。

使用angular-cli"最新版本"创建项目的github链接用下划线会让我超级开心。阅读代码很好;)

----以下只是描述让我困惑的原因------

根据我的研究,我发现了两种加载模块的替代方案。

  1. SystemJS - 大多数记录在angular.io
  2. Webpack - 是什么角度cli正在使用。
  3. 哪一个最好用?

    ctx2.drawImage( canvas1, 0, 0 )

    cli创建了对" ng serve"的引用。在脚本标记中。我应该删除该行并将其替换为webpack吗?

    ......如果是的话。我是否必须设置已经完成的角度加上我的所有设置,或者只是将您的设置添加到顶部更简单?

3 个答案:

答案 0 :(得分:1)

只需运行npm install --save underscore @types/underscore

答案 1 :(得分:1)

使用以下命令:对于Angular CLI

npm install underscore --save // save to dependencies: required to run
npm install @types/underscore --save-dev // save to dev dependencies: required in dev mode

在组件中:

import * as _ from 'underscore';

let rs = _.map([1, 2, 3], function(num){ return num * 3; });
console.log(rs);

答案 2 :(得分:0)

要使用下划线,您需要导入类型,因此typescript编译器知道它。

npm install --save underscore @types/underscore 

其次,如下划线1.6:

  

Underscore现在为AMD(Require.js),Bower和   组件,以及CommonJS模块和常规模块   (Java)的脚本。丑陋,但也许是必要的。

因此您需要使用与AMD或CommonJS兼容的模块加载程序。 SystemJS几乎可以加载任何格式,因此您可以使用SystemJS和目标" commonjs"在您的tsconfig文件中。

确保在systemjs.config.js中包含地图(不要包含index.html中的脚本):

map: {  'underscore': 'npm:underscore/underscore.js' }