如何在 neutrino.js 中禁用 chunkhash?

How to disable chunkhash in neutrino.js?

我正在寻找一种在构建时禁用 neutrino.js 中的 chunkhash 的方法,但没有找到任何相关文档,有人可以帮忙吗?

更新:

在 webpack 中,我可以自定义 output.filename,在 neutrino.js 中,似乎字符串 "[name].[hash].bundle.js" 已被烘焙,并且无法删除 [hash]据我所知。

在您的 .neutrinorc.js 文件中,您可以添加一个额外的覆盖函数来更改输出文件名以不包含块哈希(以 neutrino-preset-react 为例:

module.exports = {
  use: [
    'neutrino-preset-react',
    (neutrino) => {
      // the original value of filename is "[name].[chunkhash].js"
      neutrino.config.output.filename('[name].js');
    }
  ]
};

如果您想根据环境变量更改构建目标:

module.exports = {
  use: ['neutrino-preset-react'],
  env: {
    NEUTRINO_TARGET: {
      desktop: {
        use: [
          (neutrino) => neutrino.config.output.filename('[name].js');
        ]
      },
      mobile: {
        use: [
          (neutrino) => neutrino.config.entry('mobile').add('index.mobile.js');
        ]
      }
    }
  }
};

然后你可以 运行 Neutrino 两次不同的环境:

NEUTRINO_TARGET=desktop neutrino build
NEUTRINO_TARGET=mobile neutrino build