webpack 配置输出中的条件文件名

jas*_*san 6 reactjs webpack webpack-dev-server

我当前的 webpack 输出配置如下:

output: {
    path: PATHS.build,
    filename: '/[name].[chunkhash].js',
    chunkFilename: '/[chunkhash].js'
}
Run Code Online (Sandbox Code Playgroud)

但是,我有一个条目文件 (custom.js),我不想添加 [chunkhash] 后缀。我确实想在文件名后添加chuchhash后缀。本质上:

output: {
    path: PATHS.build,
    filename: '/[name].[chunkhash].js',
    chunkFilename: '/[chunkhash].js'
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Kev*_*Lee 7

https://webpack.js.org/configuration/output/#output-filename

模块.出口 = {

  //...
  output: {
    filename: ({ chunk: { name } }) => {
      return name === 'main' ? '[name].js': '[name]/[name].js';
    },
  }
};
Run Code Online (Sandbox Code Playgroud)


Ate*_*pra 0

根据文档,您只能有一种输出配置。

影响编译输出的选项。输出选项告诉 Webpack 如何将编译后的文件写入磁盘。请注意,虽然可以有多个入口点,但仅指定一种输出配置。

所以我想你现在不能这样做(至少根据文档)。你能详细说明为什么你需要这样的东西吗?