前端:webpack常用插件



插件:
1.什么是插件:用于扩展webpack的功能【每个插件的详细请自己去看文档】
         注: loader其实也是一种插件,但它只专注于处理文件这一块
         使用步骤:下载插件----->在webpack.config.js中的plugins[]中实例化----->配置插件[可选]
                    ---->配置文件中导入require("插件名称")




2.HtmlWebpackPlugin:
            作用:自动生成index.html文件,并引入打包好的js、css文件
            注意:如果不需要生成的html文件,而是要使用自己已经编写好的html文件
                  则需要在实例化插件的时候传入配置对象;即:
                  new HtmlWebpackPlugin({template:"你的html文件所在路径.html"})
                  其它配置项请详见:
                                https://github.com/jantimon/html-webpack-plugin#options




3.CleanWebpackPlugin:
            作用:清空上一次打包的目录 [由于打包后的输出目录可能可能会遗留上一次打包的文件,我们只希望打包后的目录只有本次打包的文件]
            下载地址:自己去guithub上搜索


4.CopyWebpackPlugin:
            作用:打包过程中除了需要打包的js css等文件,我么可能也要拷贝一些文档到指定目录;那么就可以使用该插件
            配置:{form:'源文件目录',to:'目标文件目录'}




5.MiniCssExtractPlugin:【如果想要进行压缩,还需配合optimize-css-assets-webpack-plugin使用】
            作用:将打包后的css文件输出到指定目录
            下载地址:github上自己搜
            注意:将style-loader替换为MiniCssExtractPlugin.loader


6.OptimizeCssAssetsWebpackPlugin
            作用:压缩css文件
            【注意】:配置该插件以后会覆盖掉webpack原有的js压缩,如果需要进行js的压缩,
                      还需要使用插件 TerserWebpackPlugin来压缩js代码


7.webpack自带的watch配置【不常用】
            watch作用:监听打包涉及的源文件的变化,发生变化则及时打包,并更新页面【提升了开发效率】
            开启watch:只需要在webpack.config.js中新增配置 watch:true 即可
            watch相关配置:只需要在webpack.config.js中新增 watchOptions:{ watch配置项...}
            例如watchOptions:{
                                aggregateTimeOut:300,//设置防抖时间【监听到了变化,但还在修改中,则让webpack等到输入完成后300ms再更新打包】
                                poll:1000, //每隔1000ms检查一次文件是否发生变化
                                ignore:/node_modules/   //放弃对node_modules文件夹的监听【比较大的文件可以忽略监听】
                            }




8.dev-Server:【开发服务器】【常用】【通过dev-Server打包的文件是放在内存中的,这样做是为了提升性能】
            作用:①将我们的项目运行在一个服务器的环境下
                  ②解决开发过程中的跨域问题
                  ③像watch一样实时监听源文件的变化,自动打包,自动刷新网页
            注意:打包指令后需要加上 -dev-server
            配置:webpack.config.js中增加
            devServer:{
                contentBase:"./bundle",//告诉服务器所发布的内容是哪个文件夹下的;建议使用绝对路径
                open:true,//告诉devServer打包完成后自动打开浏览器
                port:3000,//指定监听端口
                hot:true,//开启热更新【不会自动刷新网页】
                hotOnly:true,//哪怕不支持热更新也不要刷新网页
                proxy:{
                    "/user":{
                        target:"http://127.0.0.1:3000" //代理服务器;当请求到该地址/user时,会被该代理服务器监听到,
                                            //由该代理服务器发送请求,并响应【相当于中转请求和响应;因为跨域只存在于客户端发送请求】
                    }
                }
            }


            【注意】需要代理多个API地址可以用proxy:[
                                                    context:["/aaa/user","/aaa/login",...];
                                                    target:"被代理地址",
                                                    changeOrigin:true,//域名跨域
                                                    secure:false, //https协议跨域
                                                    pathRewrite:{"/aaa":"/api"}//将地址中的aaa替换为/api
                                                ]


9.HMR:热更新插件【webpack自带的插件】【懵逼慎用,用dev-server她不香吗?】
        作用:热更新插件可以实时监听打包内容的变化,当内容发生变化时,
              及时打包文件,并更新网页,值得注意的是【它不会刷新网页】


        使用:在webpack.config.js中实例化插件 new Webpack.HotModuleReplacePlugin(),并配置devserver中的hot和hotOnly为true
        【注】:如果使用了MiniCssExtractPlugin插件,请在MiniCssExtractPlugin的配置中增加hrm:true【开启热更新】




10.webpack语法处理bable:
        作用:将高级语法转换为低级语法,便于兼容浏览器
        使用:去bable官网自己看 https://www.babeljs.cn/setup#installation




11.html-withimg-loader:
        作用:打包html中引用到的图片【css中用到的图片可以用file-loader或者url-loader】
        使用:


12.image-webpack-loader或者img-loader:
        作用:对打包的图片进行压缩
        使用:https://www.npmjs.com/package/image-webpack-loader


13.postcss-sprites/webpack-spritesmith:【个人感觉没什么卵用】
        作用:打包图片
        配置: 选项  https://juejin.im/post/6844903925473099784

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Webpack是一个现代的前端构建工具,它将多个模块打包成一个或多个文件。Webpack打包的流程如下: 1. 配置文件:在webpack.config.js文件中配置入口文件、出口文件、件等信息。 2. 入口文件:webpack从入口文件开始打包,根据入口文件的依赖关系逐一解析出所有的模块。 3. 模块解析:webpack对每个模块进行解析,识别出ES6、CommonJS、AMD等模块化语法,并将其转换为浏览器可以执行的代码。 4. 代码分块:webpack将所有的模块按照依赖关系进行分块,将分块后的代码打包到不同的文件中。 5. 代码优化:webpack对代码进行压缩、混淆、丑化等操作,以减小文件体积,并提高页面的加载速度。 6. 打包输出:webpack将打包后的文件输出到指定的目录中。 总之,webpack的打包流程就是将多个模块打包成一个或多个文件,最终输出到指定的目录中,以供浏览器加载。 ### 回答2: Webpack是一个现代化的打包工具,它能够将多个源文件打包成一个或多个JavaScript文件,同时还能处理其他静态资源,如CSS、图片等。下面是Webpack打包的基本流程: 1. 配置:首先需要创建一个Webpack的配置文件,通常命名为webpack.config.js。在这个文件中,我们需要配置入口文件、输出文件、模块加载器、件等。 2. 入口:Webpack根据配置文件中的入口来找到所有需要打包的源文件的依赖关系。通常情况下,我们只需要指定一个入口文件即可,Webpack会自动分析依赖关系,将所有需要打包的文件都包含进来。 3. 模块加载:Webpack支持使用各种不同的加载器(loader)来处理不同类型的源文件。加载器可以对源文件进行预处理、转换、压缩等操作。比如,可以使用babel-loader来处理ES6语法,使用css-loader来处理CSS文件,使用url-loader来处理图片等。 4. 件:Webpack还支持使用各种件(plugins)来扩展其功能。件可以用于优化打包结果、自动生成HTML文件、提取CSS文件等。常用件包括HtmlWebpackPlugin、ExtractTextWebpackPlugin、UglifyJsPlugin等。 5. 输出:Webpack将所有依赖的模块打包成一个或多个JavaScript文件,并将其输出到指定的目录中。通常情况下,我们需要在配置文件中指定输出路径(output path)、输出文件名(output filename)等。 6. 持续构建:Webpack还提供了一个开发模式,可以监听源文件的变化,实时重新打包。这样,在开发过程中,每次保存文件都会自动重新打包,提高开发效率。 总结来说,Webpack的打包流程包括配置、入口、模块加载、件、输出等步骤。通过这些步骤,Webpack能够将多个源文件打包成一个或多个JavaScript文件,并处理其他静态资源,实现前端项目的模块化和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值