码迷,mamicode.com
首页 > Web开发 > 详细

webpack4多页应用HTML按需添加入口依赖chunk【html-webpack-plugin & html-inline-entry-chunk-plugin】

时间:2020-05-19 22:47:32      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:自己   dex   hub   lin   tps   when   runtime   ali   ports   

在webpack4中使用splitChunkPlugin时,根据需要将公共代码拆分为多个依赖后,需要在创建htmlWebpackPlugin时候按需引入对应入口文件依赖的chunk。但是html-webpack-plugin的chunk配置项只能手动添加,在没有得知拆分后的chunk情况下,无法得知对应html的依赖chunk,也就无法按需做引入。

因此鄙人自己写了个配合html-webpack-plugin的插件,使用方便,效果还行,如果有帮到你,希望能在github上赐我一颗小星星。

github地址:https://github.com/pomelott/html-inline-entry-chunk-plugin

html-inline-entry-chunk-plugin使用教程如下:

单页应用:

// webpack plugin config
    module.exports = {
        entry: {
            index: ‘./src/js/index.js‘
        },
        plugin: [
            new inlineHtmlEntryChunkPlugin(),
            // when useing inlineHtmlEntryChunkPlugin, the chunk param in htmlWebpackPlugin is invalid
            new htmlWebpackPlugin({
                entry: ‘index‘,
                chunk: [‘runtime‘] //chunk is invalid
            })
        ]
    }

多页应用:

// webpack plugin config
    module.exports = {
        entry: {
            index: ‘./src/js/index.js‘,
            list: ‘./src/js/list.js‘
        },
        plugin: [
            new inlineHtmlEntryChunkPlugin(),
            new htmlWebpackPlugin({
                entry: ‘index‘
            }),
            new inlineHtmlEntryChunkPlugin(),
            new htmlWebpackPlugin({
                entry: ‘list‘
            })
        ]
    }

配置项:

NameTypeDefaultDescription
inject {Object} {css: ‘head‘, js: ‘body‘} control the assets of position in HTML
tag {Object} {} Add additional resource tags
tagPriority {Number} 0 Control the insertion order of entry chunk and other tags

 

示例:

module.exports = {
        plugin: [
            new htmlInlineEntryChunkPlugin({
                inject: {
                    js: ‘body‘,
                    css: ‘head‘
                },
                tagPriority: 1,
                tag: {
                    head: [
                        ‘https://cdn.bootcdn.net/ajax/libs/basscss/8.1.0/css/basscss-cp.css‘,
                        ‘https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js‘
                    ],
                    body: [
                        ‘https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.0/animate.compat.css‘,
                        ‘https://cdn.bootcdn.net/ajax/libs/Chart.js/3.0.0-alpha/Chart.esm.js‘
                    ]
                }
            }),
            new htmlWebpackPlugin({
                entry: ‘index‘
            })
        ]
    }

webpack4多页应用HTML按需添加入口依赖chunk【html-webpack-plugin & html-inline-entry-chunk-plugin】

标签:自己   dex   hub   lin   tps   when   runtime   ali   ports   

原文地址:https://www.cnblogs.com/pomelott/p/12919751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!