我有 Angular 2 and Webpack 2 starter 它由 webpack-dev-server 在 Node 上运行,我用 web-api 从 Visual Studio 运行它。
问题是当 angular2-webpack-starter 在端口 3000 上运行 webpack-dev-server 时。而 IIS Express 在不同的端口 5000 上运行。
这对我来说非常重要,因为我想使用 HMR 并在每次更改文件时重新加载。
那么,如何将它们组合在一起?在同一个端口上运行?或任何其他解决方案?
最佳答案
我找到了! - 与现有服务器结合 总结和例子:
您可能希望在开发中运行后端服务器或模拟它。你不应该使用 webpack-dev-server 作为后端。它的唯一目的是提供静态(webpacked) Assets 。
您可以并排运行两个服务器:webpack-dev-server 和您的后端服务器。
在这种情况下,您需要教导 webpack 生成的 Assets 向 webpack-dev-server 发出请求,即使在后端服务器发送的 HTML 页面上运行时也是如此。另一方面,您需要教您的后端服务器生成 HTML 页面,其中包含指向 webpack-dev-server 上 Assets 的脚本标签。除此之外,您还需要在 webpack-dev-server 和 webpack-dev-server 运行时之间建立连接,以在重新编译时触发重新加载。
要教 webpack 向 webpack-dev-server 发出请求(用于 block 加载或 HMR),您需要在 output.publicPath 选项中提供完整的 URL。
要在 webpack-dev-server 和它的运行时之间建立最佳连接,请使用带有 --inline 的内联模式。 webpack-dev-server CLI 自动包含一个建立 WebSocket 连接的入口点。 (如果您将 webpack-dev-server 的 --content-base 指向后端服务器,您也可以使用 iframe 模式。如果您需要与后端服务器建立 websocket 连接,则必须使用 iframe 模式。
当您使用内联模式时,只需在 Web 浏览器中打开后端服务器 URL。 (如果您使用 iframe 模式,请打开 webpack-dev-server 的/webpack-dev-server/前缀 URL。)
https://webpack.github.io/docs/webpack-dev-server.html#combining-with-an-existing-server
关于asp.net - 如何让 webpack 和 iis express 协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40318684/