如何在webpack开发服务器中重写某些URL
我正在创建一个与Webpack捆绑在一起的React&React路由器v4应用程序。我正在使用Webpack创建异步加载包,用于按需响应应用程序的路由器路由 假设我的应用程序名为“myapp”,当我将其部署到服务器时,我的静态资产需要从以下位置获得服务:如何在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:
/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/"
},