微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack 5 SplitChunksPlugin 不生成块文件

如何解决Webpack 5 SplitChunksPlugin 不生成块文件

我目前正在使用 ES5 和 Webpack 1 更新用 Typescript 编写的 Angular 2 项目,以使用 Webpack 5。

为了解决 cachebusting 的问题,在原始实例中,项目有一个 webpack.config 如下所示,以生成一个 json 文件,该文件将详细说明所创建的散列块的文件名。

module.exports = {
    entry: {
        app: "./app/client/client-app.ts",vendor: './app/client/client-vendor.ts',polyfills: './app/client/client-polyfills.ts'
    },output: {
        filename: "./app/libs/scripts/[name]-client.[chunkhash].js"
    },module: {
        loaders: [
            {
                test: /\.ts$/,loaders: ['awesome-typescript-loader','angular2-template-loader']
            }
        ]
    },plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            name: ['app','vendor','polyfills']
        }),new AssetsPlugin({
            filename: 'webpack.assets.client.json',path: './app/libs/scripts',prettyPrint: true
        }),]
}

生成文件看起来像这样..

{
  "app": {
    "js": "./app/libs/scripts/app-client.94fb68d639f7fe8ce258.js"
  },"polyfills": {
    "js": "./app/libs/scripts/polyfills-client.970ace7dddd5f34afb5b.js"
  },"vendor": {
    "js": "./app/libs/scripts/vendor-client.18346595f0e2d641067c.js"
  }
}

和看起来像这样的文件文件夹。

enter image description here

在最新版本的 Webpack 5 中,它在 documentation 中声明,CommonsChunkPlugin 已被移除以支持 SplitChunksPlugin。但是,当我进行如下调整时,json 文件仍然成功创建,但所有随附的 js 文件从未进入分配的存储库,尽管我的 {{ 1}} 窗口。我在这里有什么误解吗?

cmd

enter image description here

生成的json文件

const AssetsPlugin = require('assets-webpack-plugin');

var assetsPlugin = new AssetsPlugin({
    filename: 'webpack-assets.client.json',prettyPrint: true,removeFullPathAutoprefix: true,includeFilesWithoutChunk: true
});

module.exports = {
    entry: {
        app: './app/app.ts',polyfills: './app/polyfills.ts',vendor: './app/vendor.ts',},target: 'node',output: {
        filename: './app/libs/scripts/[name]-client.[chunkhash].js',optimization: {
        splitChunks: {
            cacheGroups: {
                default: false,vendors: false,vendor: {
                    chunks: 'all',test: /client-vendor.ts/
                }
            }
        }
    },module: {
        rules: [
            {
                test: /\.ts$/,use: {
                    loader: 'ts-loader'
                }
            }
        ]
    },mode: 'development',resolve: {
        "fallback": {
            "timers": require.resolve("timers-browserify")
        }
    },plugins: [assetsPlugin]
}

生成文件夹,缺少 { "app": { "js": "./app/libs/scripts/app-client.c8345edfa6da5d2ad827.js" },"polyfills": { "js": "./app/libs/scripts/polyfills-client.fc21049a83789be81a52.js" },"vendor": { "js": "./app/libs/scripts/vendor-client.d8b3a7d7af94ea7370c4.js" } } 文件..

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。