如何为捆绑包中生成的文件设置静态名称?

How to put a static name for files generated in the bundle?

我正在使用 Vue CLI 开发 MPA 应用程序,当我制作捆绑包时,Webpack 会自动生成文件。输出文件列表是这样的:

chunk-vendors.7f809fbd.js
chunk-common.aae8cb13.js
home.f85a21ab.js
chunk-common.9113b70b.css
etc...

是否可以手动定义这些生成文件的名称?我想要这样的文件名:

chunk-vendors.my-standard.js
chunk-common.my-standard.js
home.my-standard.js
chunk-common.my-standard.css

不这样做的原因有很多,这就是它不是默认行为的原因。

无论如何,如果你还想这样做,那么你可以使用 filename 属性.

您可以按照文档中的说明对其进行微调。

这可以通过以下 Vue CLI 配置(来自 vuejs/vue-cli#1967)来完成:

// vue.config.js
const chunkPrefix = '[name].my-standard'

module.exports = {
  chainWebpack: (config) => {
    config.module
      .rule('images')
      .use('url-loader')
      .tap(options => Object.assign({}, options, { name: `${chunkPrefix}.[ext]` }));
  },
  css: {
    extract: {
      filename: `${chunkPrefix}.css`,
      chunkFilename: `${chunkPrefix}.css`,
    },
  },
  configureWebpack: {
    output: {
      filename: `${chunkPrefix}.js`,
      chunkFilename: `${chunkPrefix}.js`,
    }
  },
}