Как загрузить стороннюю библиотеку с Angular 5 CLI? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь использовать стороннюю библиотеку в своем приложении Angular 5, настроив global scripts .Этот вопрос описывает, что я пытаюсь сделать, хотя я думаю, что это может быть в Angular 4: Загрузка сторонней библиотеки с Angular-cli

Библиотека, которую я пытаюсь использовать, это shpjs, так чтомое свойство scripts:

  "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

1 Ответ

0 голосов
/ 10 мая 2018

Не добавляется к 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 содержимое.

...