webpack学习总结

webpack学习总结

webpack是实现前端工程化的一个工具。
什么是前端工程化?
前端工程化指的是将前端开发的流程规范化、标准化,包括开发流程、技术选型、代码规范、构建发布等用于提升前端工程师的开发效率和代码质量
webpack的作用?
如果一个界面上引用了很多个Js文件,那么就会有非常多的http请求会发往服务器,这样就会消耗服务器的资源,也会影响前端的性能。有了webpack之后,把所有的请求打包到一个请求上去,减轻了服务器的压力,再对webpack进行压缩,前端也优化了性能。

1.安装webpack

1.1 安装方式的选择

安装wbepack可以使用npm的方式也可以使用yarn的方式
npm下载速度太慢,推荐使用yarn的方式进行安装
yarn相对于webpack的而言的优势在于
yarn相对于npm的优势:
(1)yarn并行安装,同步执行所有的任务,提高了性能
(2)yarn安装版本统一
(3) 更简洁的输出
(4)多注册来源处理 yarn对安装来源进行了处理,只会从一个注册来源去安装
(5)更好的语义化

1.2 安装webpack

(1) 安装yarn

npm install -g yarn --registry=https://registry.npm.taobao.org

(2)配置淘宝源

yarn config set registry https://registry.npm.taobao.org -g

(3) 使用yarn安装

项目安装:
yarn add webpack webpack-cli -D
全局安装:
yarn add webpack webpack-cli -g

webpack全局配置文件webpack.config.js中可以定义多种关于项目的配置信息

2. webpack配置入口及输出

webpack的入口配置和输出配置指的是:webpack从哪个文件开始进行打包然后将打包之后的文件输出到哪个文件上。
webpack入口和输出配置

 const path = require('path');       //引入node中模块
 modele.exports = {
  	entry: 'index.js',                       //和webpack同级目录下的js文件 index.js
  	output: {
  		filename: 'bundle.js',                            //定义输出文件的名称
  		path: path.join(_dirname,'./dist')           //使用path来拼接输出文件路径
   }
}

3. webpack loaders加载css

webpack不只是打包js文件,也可以将样式文件(css sass等)进行打包
webpack打包css的具体实现过程
(1)安装css-loader
yarn add css-loader style-loader
(2) 编写index.css样式文件
body: {background: red}
(3) 在webpack.config.js配置文件中配置加载css样式代码

  module.exports = {
      module: {
         rules: [
         { test:/\.css$/,
        use:["style-loader","css-loader"]
        }
        ]}
  }

(4) 需要注意的是 use后面的数组的加载顺序是有要求的。必须是loader先加载后面的再加载前面的。
(5) 运行webpack 样式文件就可以生效了

4. webpack loaders加载sass

(1)安装sass
yarn add sass -D
(2) 安装node-sass
yarn add node-sass -D
(3) 在module中配置加载sass

 module.exports = {
  module: {
     rules: [
     { test:/\.sass$/,
    use:["style-loader","sass-loader"]
    }
    ]}
    }

5. webpack加载的插件

5.1 插件html-webpack-plugin

html-webpack-plugin插件的作用是可以自动的生成html文件
html-webpack-plugin插件的使用
1.引用插件
const HtmlWebpackPlugin = require('html-webpack-plugin')
2.使用插件

module.exports = {
	entry: './index.js',
	plugins: [
         new HtmlWebpackPlugin({
					filename: 'index.html',                    //将要生成的html文件
					template: 'template.html'               //在根目录下要生成的Html文件的模板			
		})
  ]
}

3.运行webpack就可以在输出目录下生成index.html文件了

1.6.2 插件clean-webpack-plugin

clean-webpack-plugin的作用是可以清除输出目录下的多余的文件
1.安装clean-webpack-plugin
yarn add clean-webpack-plugin -D
2.使用插件

      const {CleanWebpackPlugin} = require('clean-webpack-plugin');
	  module.exports = {
		.....
		plugins: [
			new CleanWebpackPlugin()
	    ]	  
   	 }

3.运行webpack就可生效

6.webpack的热加载功能

webpack热加载的作用:因为webpack要打包的文件有改动都需要重启webpack,这样感觉非常麻烦。
如果可以实时的热加载有所改动更新的文件,那样的效率将会大大的提升

6.1 watch的配置

在package.json的scripts中配置
"watch":"webpack --watch"
npm run watch 就可以启动热加载,以后文件的改动只需要刷新浏览器,不需要重启webpack
但是这种方式只能监听到浏览器控制台是输出变化。不能监听到html页面的变化

6.2 webpack热模块更替

1.安装热模块
yarn add webpack-dev-server
2.package.json中配置
"hot": "webpack-dev-server"
3.在webpack.config.js中配置

 module.exports = {
		plugins: [
			new webpack.HotModuleReplacementPlugin()
	]
}

4.启动wewbpack热模块更替
npm run hot
HTML中内容的改变就不需要重启 只需要刷新浏览器就可以了

webpack的学习总结完成 学习总结记录第001天

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值