我正在使用 Webpack Dev Server 从外部 url 代理我的文件,那是因为我正在使用它在本地开发并从服务器代理 PHP/Twig 文件,这样我就不需要设置在本地启动所有后端。
但问题是我需要重写 Assets url 以从我的本地计算机而不是代理中提取这些文件。现在,当我打开本地主机时,所有 Assets 都从服务器加载。即:http://mycoolwebsite.com/core/somefolder/assets/styles.css
我需要替换它以从我的本地主机中提取,如下所示:
/assets/styles.css
这是我现在拥有的:
devServer: {
compress: true,
port: 9000,
proxy: {
'*': {
target: 'http://mycoolwebsite.com',
changeOrigin: true,
secure: false
}
}
有什么线索吗? 谢谢!
最佳答案
您希望所有发送到您的服务器的请求“http://mycoolwebsite.com/ **” 转到您的本地计算机:“http://localhost:9000/ ”(假设它在端口 9000 上运行)
所以试试这个:
proxy: {
'/assets/**': {
target: 'http://localhost:9000',
secure: false,
pathRewrite: function(req, path) {
//use the pathRewrite to modify your path if needed
return path;
}
}
现在,您实际调用的服务器应该没有任何区别。每个包含“/assets/”的请求都应该发送到您的本地主机。 (我无法在 atm 上测试它)
关于javascript - 重写 Webpack 代理 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45850794/