如何在使用webpack为其他块使用哈希的同时为特定块设置特定名称?

问题描述 投票:0回答:1

在我的应用程序中,我使用的是::

的延迟加载模块

import(/* webpackChunkName: "settings" */ './settings')

Webpack的输出配置如下:

output: {
    filename: '[name].[hash:8].js',
    chunkFilename: '[name].[contenthash:8].js',
  }

但是,当我部署我的应用程序时,脚本负责覆盖先前构建的settings.js文件中的某些信息。

[我知道我可以删除[contenthash],但是我需要保留它以供供应商使用。

我该如何对webpack说“如果您看到设置块,请不要将contenthash附加到他的名字下?”

webpack vue-cli
1个回答
0
投票

您可以对文件名使用功能。大致情况:

module.exports = {
  //...
  output: {
    filename: (chunkData) => {
      return chunkData.chunk.name === 'settings' ? '[name].js': '[name].[hash:8].js';
    },
  }
};

The same goes for chunk file names.
© www.soinside.com 2019 - 2024. All rights reserved.