在Angular2 CLI中使用外部javascript AMD模块

时间:2017-02-01 10:34:08

标签: javascript angular

当我使用Angular2预发行版时,我不得不使用systemjs来使用外部JavaScript库,即ESRI ArcGIS JavaScript API,它基于AMD模块(虽然可以输入)。

现在我想迁移到Angular2 CLI。但是,在Angular2从systemjs移动到webpack并且没有要修改的webpack.config文件之后,我无法看到如何导入像arcgis这样的外部库。

外部库存储在:

<script src="https://js.arcgis.com/3.19/"></script>

示例:在我的角度组件中,我不知何故需要能够导入这些:

import map from 'esri/map';

导入&#39; https://js.arcgis.com/3.19/esri/map.js&#39;

知道如何实现这一目标吗?

编辑:如果我将map.js的链接添加到angular-cli.json

"scripts": [
          "../node_modules/jquery/dist/jquery.js",
           ....
          "https://js.arcgis.com/3.19/esri/map.js"
      ],

并将其导入为import {map} from 'esri/map';

我得到webpackMissingModule: C:\Users\xy\project\src\https:\js.arcgis.com\3.19\esri\map.j‌​s

3 个答案:

答案 0 :(得分:1)

包含外部库的示例angular-cli.json 抱歉转储数据,但这是一个提示,因为您可以看到我在{-1}}中添加了脚本和css以及在angular-cli.json中添加了stylesscripts数组

addons

答案 1 :(得分:1)

您可以通过以下两种方式之一完成此操作:

  1. 在index.html中导入脚本,然后在组件中,将API入口点声明为常量:

    const argGIS:any;

  2. 然后将其用作您使用它的任何其他地方。你将没有智能支持但它会起作用。

    1. 使用npm模块,它看起来像一个存在。安装时使用:

      npm install arcgis --save

    2. 将其添加到您的&#34;脚本&#34;在angular-cli.json中

      "../node_modules/arcgis/file.js"
      

      查看index.d.ts文件以查找要导入的内容并将其导入组件中:

      import {Something} from 'arcgis';
      

答案 2 :(得分:0)

一个选项是,将其导入主索引html文件。