在 webpack 中操作(第一个)块的名称?

滑溜溜的

这可能是一个奇怪的问题,但这背后的故事是:

我们想在 wordpress 项目中拆分代码 - 根据我目前的知识,您必须具体将 JS 文件导入到 wordpress - 这就是为什么初始文件应该有一个静态名称

插件.php

...
plugins_url('dist/index.js',__FILE__ ),
...

使用这样的 webpack 配置:

webpack.config.js

...
entry: {
    index: ["@babel/polyfill", path.join( __dirname, 'src/index.tsx' )],
},
output: {
    filename: '[name].js',
    path: path.resolve( __dirname, 'dist' ),
    publicPath: '/'
},
optimization: {
    splitChunks: {
        chunks: 'all'
    }
},
...

它应该可以完成这项工作,但是是否也可以仅向以下拆分块添加哈希?

具有这样的配置:

webpack.config.js

entry: {
    index: ["@babel/polyfill", path.join( __dirname, 'src/index.tsx' )],
},
output: {
    filename: '[name].[chunkhash].js',             // ONLY LINE CHANGED
    path: path.resolve( __dirname, 'dist' ),
    publicPath: '/'
},
optimization: {
    splitChunks: {
        chunks: 'all'
    }
},

所有文件都得到哈希

有什么建议么?:/

谢谢您的帮助 :)

尤里·塔拉班科

如果要修改非条目块的名称,则可以output.chunkFilename改用。

最终,您可以提供一个函数output.filename并实现您需要的任何逻辑。

来自文档

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章