2017-02-01 4 views
1

Я ищу для обмена с webpack от systemJS. Большинство настроек, похоже, работают, кроме того, что снова запускается один из моих внешних скриптов.Webpack - вызов внешнего JS в угловом 2

Ранее с системойJS У меня была настройка, в которой я бы импортировал внешний .js-скрипт в свой index.html.

В моей угловой службе я мог бы взаимодействовать с этим сценарием, выполнив следующие действия -

declare var ExternalCode: any; 
. 
. 
. 
ExternalCode.RunProcess(data, infomation); 

В WebPack теперь я 3 файлов на экспорт и вводили в мой index.html - app.js, vendor.js и polyfills.js. В моем файле поставщика импортировать код, как так,

import "./AppScripts/ExternalCode"; 

Если бы я тогда смотреть в vendor.js я вижу мое ExternalCode завернутым как так,

(function(module, exports, __webpack_require__) { 

    eval(EXTERNAL CODE IS ALL HERE); 
}) 

То, что я не могу показаться, чтобы обернуть мой голова вокруг - вот как я теперь вызываю свой внешний код из пакета webpack vendor.js в моем сервисе. Есть ли в любом случае теперь импорт/запуск кода из моей угловой службы 2?

Я также попытался просто импортировать скрипт снова в файл index.html, но на webpack-dev-сервере он всегда будет выкидывать 404 из существующего пути, который будет использоваться, когда я запускаю проект с помощью IIS Express и SystemJS.

+0

почему не попробовать 'угловую-cli'? он будет обрабатывать всю «церемонию webpack» для вас. – Kuncevic

ответ

1

Выяснено, как заставить его работать так же, как и раньше, с SystemJS. В vendor.ts, как упомянуто выше, импортируйте скрипт так, чтобы он был включен в webpack-dev-сервер.

import "./externaljs/ExternalCode.js"; 

Вместо того чтобы рассматривать импорт, как это в относительном местоположении к index.html, просто пройти полный путь так -

<script src="./src/externaljs/ExternalCode.js"></script>