0

基本上我想替换:

/uranus/api/links/SU5HKVFl6G/

/uranus/api/links/SU5HKVFl6G/index.js/index.js

注意这里的SU5HKVFl6G部分是随机的......

仅供参考,我正在尝试在 webpack 中执行此操作:

  devServer: {
    contentBase: paths.appPublic,
    contentBasePublicPath: paths.root,
    watchContentBase: true,
    publicPath: paths.root,
    proxy: {
      '/uranus/api': 'http://localhost:3089',
      '/uranus/api/links': {
        target: 'http://localhost:3335',
        pathRewrite: {'^.+' : ''}
      }
    }
  }

/uranus/api/links/SU5HKVFl6G/index.js以上是我的原始配置,但它也可以代理/...

4

1 回答 1

2

更正您的正则表达式:pathRewrite: {'^.+\/' : '\/'}
它将仅将这些类型替换/uranus/api/links/SU5HKVFl6G/index.js/index.js

和,
pathRewrite: {'^\/uranus\/api\/links\/[^\/]+\/?' : '\/'}

此正则表达式
/uranus/api/links/SU5HKVFl6G将替换这两种类型/
/uranus/api/links/SU5HKVFl6G/index.js/index.js

假设/uranus/api/links/部分是恒定的。

reg-ex 解释:以斜杠转义
^的字符串常量路径的开头将替换除斜杠之外的所有字符,在您的情况下,斜杠是动态字符串。for 目录最终可能不存在,并且 for 文件肯定会在您动态命名的目录之后存在,所以说斜线可能存在或不存在,就像 0 或 1 次出现。
\/uranus\/api\/links\/
[^\/]+
\/?//?

于 2020-04-07T08:18:23.727 回答