Webpack - 在Angular 2中调用外部JS

时间:2017-02-01 23:16:10

标签: javascript angular webpack webpack-dev-server

我正在寻求从systemJS交换到webpack。除了让我的一个外部脚本再次运行之外,大多数设置似乎都在工作。

以前使用systemJS我有一个设置,我将在index.html中导入外部.js脚本。

在我的角度服务中,我可以通过执行以下操作与该脚本进行交互 -

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包中的外部代码。无论如何现在从我的angular 2服务中导入/运行代码?

我还尝试过在index.html文件中再次导入脚本,但是在webpack-dev-server上,当我使用IIS Express运行项目时,它将始终从现有路径中抛出404。和SystemJS。

1 个答案:

答案 0 :(得分:1)

想出如何使其工作方式与我之前使用SystemJS一样。在如上所述的vendor.ts中,导入脚本,使其包含在webpack-dev-server中。

import "./externaljs/ExternalCode.js";

不要像在index.html的相对位置那样处理导入,而是像这样传递完整路径 -

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