javascript - 重写 Webpack 代理 URL

标签 javascript webpack proxy webpack-dev-server

我正在使用 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/

相关文章:

javascript - 在 Electron 中进行 ipc 调用时,"TypeError: Cannot read property ' 上的 ' of undefined"

c# - 无法更改 javascript 中设置的 cookie 值?

javascript - jQuery 和 JSON : chained select from an array with multiple values

webpack - 为什么我的设置中需要 "@babel/plugin-proposal-optional-chaining"使用 "@babel/preset-env"和 "@babel/preset-typescript"

database - Oracle 使用代理模式创建数据库链接

javascript - 来自返回 JSON 的 KendoUI 网格页脚附加内容

javascript - "You may need an appropriate loader to handle this file type"错误

javascript - 您可以在构建时压缩 Angular 图像 Assets 吗?

nginx - 如何将子域代理到 nginx 中的主域以进行 SEO

c# - 在具有不同根相对路径的代理后面运行 ASP.NET MVC 应用程序