博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack CommonsChunkPlugin 提取公共代码
阅读量:6088 次
发布时间:2019-06-20

本文共 4272 字,大约阅读时间需要 14 分钟。

1、项目结构

2、部分代码

module.js

console.log('module.js');

index文件夹下的index.js

require('../module.js');console.log('首页-index文件');

login文件夹下的index.js

 

require('../module.js');console.log('登录页-index文件');

3、webpack.config.js

var htmlWebpackPlugin = require('html-webpack-plugin');var webpack = require('webpack');module.exports = {    //    entry: './src/app.js',    entry: {        'login': ['./src/page/login/index.js'],        'index': ['./src/page/index/index.js']    },    output: {        path: __dirname + '/dist',        filename: 'js/[name].js'    },    //将外部变量或者模块加载进来    externals: {        'jquery': 'window.jQuery'    },    module: {        loaders: [{                test: /\.js$/,                //以下目录不处理                exclude: /node_modules/,                //只处理以下目录                include: /src/,                loader: "babel-loader",                //配置的目标运行环境(environment)自动启用需要的 babel 插件                query: {                    presets: ['latest']                }            },            //css 处理这一块            {                test: /\.css$/,                use: [                    'style-loader',                    {                        loader: 'css-loader',                        options: {                            //支持@important引入css                            importLoaders: 1                        }                    },                    {                        loader: 'postcss-loader',                        options: {                            plugins: function() {                                return [                                    //一定要写在require("autoprefixer")前面,否则require("autoprefixer")无效                                    require('postcss-import')(),                                    require("autoprefixer")({                                        "browsers": ["Android >= 4.1", "iOS >= 7.0", "ie >= 8"]                                    })                                ]                            }                        }                    }                ]            },            //less 处理这一块            {                test: /\.less$/,                use: ['style-loader',                    {                        loader: 'css-loader',                        options: {                            //支持@important引入css                            importLoaders: 1                        }                    },                    {                        loader: 'postcss-loader',                        options: {                            plugins: function() {                                return [                                    //一定要写在require("autoprefixer")前面,否则require("autoprefixer")无效                                    require('postcss-import')(),                                    require("autoprefixer")({                                        "browsers": ["Android >= 4.1", "iOS >= 7.0", "ie >= 8"]                                    })                                ]                            }                        }                    },                    'less-loader'                ]            },            //处理html模板            {                test: /\.html$/,                use: {                    loader: 'html-loader'                }            },            //处理图片            {                test: /\.(png|jpg|gif|svg)$/i,                loaders: [                    //小于8k的图片编译为base64,大于10k的图片使用file-loader                                'url-loader?limit=8192&name:img/[name]-[hash:5].[ext]',                    //图片压缩                    'image-webpack-loader'                ]            }        ]    },    plugins: [        new htmlWebpackPlugin({            template: 'index.html',            filename: 'index.html'        }),        // 独立通用模块到js/base.js        new webpack.optimize.CommonsChunkPlugin({            //公共块的块名称            name: 'common',            filename: 'js/base.js'        })    ]}

4、测试

(1)webpack.config.js

// 独立通用模块到js/base.js        new webpack.optimize.CommonsChunkPlugin({            //公共块的块名称            name: 'common'        })

 

输出:

 

(2)

// 独立通用模块到js/base.js        new webpack.optimize.CommonsChunkPlugin({            //公共块的块名称            name: 'common',            //生成的文件名            filename: 'js/common.js'        })

 

转载地址:http://bdvwa.baihongyu.com/

你可能感兴趣的文章
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>
Linux--sed使用
查看>>
没有显示器的情况下安装和使用树莓派
查看>>
【android】使用handler更新UI
查看>>
mochiweb 源码阅读(十五)
查看>>
前端面试中的常见的算法问题
查看>>
计算机语言的基本理论
查看>>
nodejs流之行读取器例子
查看>>
批量文件重命名工具
查看>>
简单说一下UWP中的JumpList
查看>>
unity将object[]或者string对象转换成枚举enum
查看>>
以太坊系列之六: p2p模块--以太坊源码学习
查看>>
使用scikit-learn解决文本多分类问题(附python演练)
查看>>
2018 年最值得关注的 JavaScript 趋势
查看>>
什么是区块链?超级账本 Brian Behlendorf 从五个方面教你认识
查看>>
Linux中的帮助功能
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
全局探色器
查看>>
Hive Export和Import介绍及操作示例
查看>>