Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在webpack开发服务器中重写某些URL_Webpack_Webpack Dev Server - Fatal编程技术网

如何在webpack开发服务器中重写某些URL

如何在webpack开发服务器中重写某些URL,webpack,webpack-dev-server,Webpack,Webpack Dev Server,我正在创建一个与Webpack捆绑在一起的React&React路由器v4应用程序。我正在使用Webpack创建异步加载包,用于按需响应应用程序的路由器路由 假设我的应用程序名为“myapp”,当我将其部署到服务器时,我的静态资产需要从以下位置获得服务: /myapp/static/<assetName> 在我的devServer部分中,我有以下内容: devServer: { historyApiFallback: true, inline: true, port:

我正在创建一个与Webpack捆绑在一起的React&React路由器v4应用程序。我正在使用Webpack创建异步加载包,用于按需响应应用程序的路由器路由

假设我的应用程序名为“myapp”,当我将其部署到服务器时,我的静态资产需要从以下位置获得服务:

/myapp/static/<assetName>
在我的devServer部分中,我有以下内容:

devServer: {
  historyApiFallback: true,
  inline: true,
  port: 4000,
  publicPath: "/myapp" // this is so my app is served from http://locahost:4000/myapp 
}
当我实际部署到我的服务器时,我没有任何问题,但是当我运行webpack dev server并访问:

http://localhost:4000/myapp
…html已提供,但是
HtmlWebpackPlugin
为我的捆绑包生成的所有URL都是
/myapp/static/
,因此无法获取,因为捆绑包正在
/mpapp/
处提供服务

如何将webpack dev server配置为将
/myapp/static/
重写为
/myapp/
,以便将其路由到实际在
/myapp
下本地提供服务的捆绑包

我尝试过各种各样的重写和代理指令,但我似乎破坏了应用程序——我确信有一种简单的方法我忽略了


非常感谢。

尝试如下设置
历史APIfallback
的索引:

historyApiFallback: {
  index: "/myapp/static/"
},
有关更多信息,请参阅
网页
连接历史api回退
文档:


这里的另一个可能选项是更改生成过程。因此,对于本地开发人员,我的webpack config只是正常地为捆绑包提供服务,然后我的产品构建过程使用特定的/myapp/static publicPath指令?我已经使用webpack dev中间件编写了一个基本的node.js express服务器,实现了我想要的功能-基本上我将静态路径映射到我的公共路径:
app.use(“/myapp/static”,express.static)(path.join(uu dirname,“/../public”);
。有什么方法可以通过webpack dev server实现这一点吗?谢谢。
historyApiFallback: {
  index: "/myapp/static/"
},