美文网首页
webpack概述

webpack概述

作者: 海之深处爱之港湾 | 来源:发表于2019-03-12 11:09 被阅读0次

    英文官网:https://webpack.github.io/

    中文官网:https://www.webpackjs.com/

    webpack v3

            Scope Hoisting (作用于提升)

            打包以后代码性能的提升,并不是打包的提升,是打包后文件的性能的提升

            Magic Comments(配合动态import使用)

            指定打包以后的文件名叫什么

            v1-v2

            v2-v3

            webpack核心概念

            Entry

            Output

            Loadedrs

            Plugins

    1. Entry

        a)代码的入口

            某一段代码的代码入口,通过代码的入口直接或者间接的找到

        b)打包的入口

        c)单个或多个入口

            eg:

                module.exports = {

                    entry:'index.js'

                }

                数组

                module.exports = {

                    entry:['index.js','vendor.js']

                }

                对象(推荐)

                module.exports = {

                entry:{

                    index:'index.js',

                    vendor:'vendor.js'

                    }

                }


    2. Output

        a)打包成的文件(bundle)

        b)一个或多个

        c)自定义规则

        d)配合CDN

        eg:

        module.exports = {

            entry: {

                index:'index.js',

                vendor:'cendor'

            },

            output: {

                filename:'[name].min.[hash:5].js'

            }

        }


    3.Loaders

        处理文件

        转化为模块

        eg:

        module.exports = {

            module: {

                rules: [

                    {

                        test:/\.css$/,

                        use:'css-loader'

                    }

                ]

            }

        }

        常用Loader

        编译相关

            babel-loader、ts-loader

        样式相关

            style-loader、css-loader、less-loader、postcss-loader

        文件相关

            file-loader、url-loader


    4.Plugins

        a)参与打包整个过程

        b)打包优化和压缩

        c)配置编译时的变量

        d)及其灵活

        eg:

        const webpack = require('webpack');

        module.exports = {

            plugins: [

                new wbpack.optimize.UglifyJsPlugin()

            ]

        }

        常用的Plugins

        优化相关

            CommonsChunkPlugin 用来提取不同的Chunk之间提取相同的代码出来

            UglifyjsWebpackPlugiin相当于混淆,压缩代码

        功能相关

            ExtractTextWebpackPlugin提取出单独的文件,单独打包

            HtmlWebpackPlugin帮助生成HTML

            HotModuleReplacementPlugin模块热更行

            CopyWebpackPlugin帮你将项目中已经打包好的文件

        相关名词

            Chunk 代码块

            Bundle说明已经打包后的代码

            Module模块

    相关文章

      网友评论

          本文标题:webpack概述

          本文链接:https://www.haomeiwen.com/subject/wxjgpqtx.html