当我使用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.js
答案 0 :(得分:1)
包含外部库的示例angular-cli.json
抱歉转储数据,但这是一个提示,因为您可以看到我在{-1}}中添加了脚本和css以及在angular-cli.json中添加了styles
和scripts
数组
addons
答案 1 :(得分:1)
您可以通过以下两种方式之一完成此操作:
在index.html中导入脚本,然后在组件中,将API入口点声明为常量:
const argGIS:any;
然后将其用作您使用它的任何其他地方。你将没有智能支持但它会起作用。
使用npm模块,它看起来像一个存在。安装时使用:
npm install arcgis --save
将其添加到您的&#34;脚本&#34;在angular-cli.json中
"../node_modules/arcgis/file.js"
查看index.d.ts文件以查找要导入的内容并将其导入组件中:
import {Something} from 'arcgis';
答案 2 :(得分:0)
一个选项是,将其导入主索引html文件。