webpack4可以根据文件目录输出打包js文件吗?

发布于 2022-09-13 01:05:50 字数 139 浏览 18 评论 0

现在webpack打包结果是js文件全部都在dist文件夹下,有没有可能可以根据项目结构输出呢?比如home文件下的所有异步chunk,打包输出到dist/home文件夹下,my文件下的所有异步chunk,打包输出到dist/my文件下.
有没有可能实现呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

断舍离 2022-09-20 01:05:50

已解决!最终利用了webpack提供的afterOptimizeChunkIds钩子函数实现,获取chunk编译时的上下文context,再把路径拼接到chunk.name上就可以了。

筑梦 2022-09-20 01:05:50

可以使用SplitChunksPlugin根据你的需要拆分chunk,然后在使用chunkFilename去定义chunk要存放的路径.参考配置如下:

const path = require('path')

/**
 * @type {import('webpack').Configuration}
 */
const config = {
  entry: {
    main: './src/index.js',
  },
  output: {
    filename: '[name].chunkhash.bundle.js',
    chunkFilename: '[name]/[name].chunkhash.bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  optimization: {
    splitChunks: {
      chunks: 'all',
      maxInitialRequests: Infinity,
      minSize: 0,
      cacheGroups: {
        commons: {
          test: /[\\/]node_modules[\\/]/,
          priority: -10,
          name: 'vendors',
          chunks: 'all',
        },
        home: {
          test: /[\\/]home\.js$/,
          priority: 10,
          name: 'home',
        },
        my: {
          test: /[\\/]my\.js$/,
          priority: 10,
          name: 'my',
        },
      },
    },
  },
}
module.exports = config

更多配置请参考文档SplitChunksPlugin

狠疯拽 2022-09-20 01:05:50

hi,你好,我想请教一下:webpack提供的afterOptimizeChunkIds钩子函数实现,获取chunk编译时的上下文context,再把路径拼接到chunk.name上就可以了。的具体实现。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文