我正在尝试通过配置global scripts在我的Angular 5应用中使用第三方库。这个问题概述了我想要做的事情,尽管我认为这可能是在Angular 4: Loading third party library with Angular-cli
我想使用的库是shpjs,所以我的脚本属性是:
"scripts": [
"../node_modules/shpjs/dist/shp.js"
],
应用程序构建正常,但我的index.html中没有我的库。根据文件:
这些将被加载,就像你在一个中添加它们一样 index.html里面的标签
我还缺少另一个步骤吗?
*更新:*
我有其他问题,我终于解决了。总而言之,我的脚本配置是正确的,但我的组件中的import语句没有,我将一个问题与另一个问题混为一谈。
在我的component.ts
中,我添加了import * as shp from 'shpjs';
然后我的组件上的测试功能运行得很好:
openAsGeoJson(url: string) {
url = 'http://calvinmetcalf.github.io/shapefile-js/files/TM_WORLD_BORDERS_SIMPL-0.3.zip';
shp(url).then(function (data) {
if (data) {
console.log('shapefile data received');
console.log(data.length);
console.log(data);
}
});
}
我的环境:
Angular CLI: 1.6.3
Node: 7.10.1
OS: win32 x64
Angular: 5.2.0
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.6.3
答案 0 :(得分:4)
它不会按原样添加到index.html
。
<script src="../node_modules/shpjs/dist/shp.js" />
它会在scripts.bundle.js
index.html
中有一个脚本标记,如下所示,
<script type="text/javascript" src="scripts.bundle.js"></script>
shp.js
文件将成为scripts.bundle.js
的一部分,打开此文件即可找到shp.js
个内容。