webpack4(未完)

webpack4一些浅显的使用心得

最近琢磨了一阵webpack4,还是有蛮多收获的,虽然平常开发的时候大多数情况下都是用vue-cli直接搭建项目,但是当有某些特殊需求的时候还是要自己修改webpack配置,故而我觉得有必要对webpack进行研究

1、什么是webpack

webpack is a module bundler,这是webpack官网上的一句话,意思就是webpack是一个模块打包工具。它会将一些特殊格式如scss, typescript, 字体文件, 图片等等打包成浏览器可以识别的格式,以供给浏览器使用。

2、webpack的基本用法

首先 webpack的配置文件默认是webpack.config.js,如果想要更改配置文件也可以,需要在运行命令的时候告知它更改成哪个文件,
webpack.config.js 会暴露出一个对象

module.export = {
	// 这里是配置项
}

常见的配置项有entry, output, mode, module, plugins, 等等
其中 entry: 入口文件,即需要被打包的那个文件,如下代码意思就是将当前目录下src目录下的index.js文件作为入口文件

    entry: {
    	  main: './src/index.js'
    },

与entry对应的output配置项,就是打包的结果,类似如下,意思即使打包的结果文件命名位dist.js,放在当前目录下的dist文件夹,需要注意的是这里需要引入path模块,这是由nodejs提供的一个模块,直接引入即可

	const path = require('path')
    output: {        
    filename: 'dist.js',
    path: path.resolve(__dirname, 'dist')
}

mode配置项,默认是production,还可以配置为development,区别在于production模式下webpack打包出来的dist.js文件比较小,代码是被压缩过的,而development模式下代码没有被压缩,文件会相对比较大,所以如果项目要推到线上的话记得用production模式。

module: 模块逻辑处理文件,一个对象,在该对象内配置对各种格式的处理方式,

module = {
	rules: [
		{
			test: /\.css$/,   //用于匹配正则表达式
			use: ['style-loader', 'css-loader']
		}
	]
}

上面是一个简单的例子,意思是若碰到css结尾的文件,则使用style-loader以及css-loader对其进行处理,需要注意的是,loader的处理顺序是从后到前,也就是遇到css文件先用css-loader对其进行处理后,用style-loader为其加上style标签,
另外,可以对Loader进行单独配置,把需要配置的loader以对象形式包裹起来,后进行配置即可,如下

{               
	        test: /\.scss$/,
		use: ['style-loader', 
		{
		loader: 'css-loader', // 给css-loader 单独添加配置 改为对象
		 options: {
		 importLoaders: 2, // 在scss引入的scss文件也需要执行两个import loaders                        // 
		  }
		  }, 
		  'sass-loader', 'postcss-loader'] // loader 执行顺序 下→上 右→左
},
		  

plugins, 定义插件,webpack提供了很多插件以供提高开发效率,比如HtmlWebpackPlugin,CleanWebpackPlugin, 等等,HtmlWebpackPlugin用于为打包的文件提供一个html模板,然后webpack会在此基础之上进行打包,CleanWebpackPlugin会在每次打包之前将目标文件夹删除,之后再重新生成,这么做的意义在于如果文件发生改变,比如删除了某个图片,就不用手动去打包的文件夹里把它删掉,webpack会自动帮你做这些。

plugins: [        
    new HtmlWebpackPlugin({template: 'src/index.html' }),
     new CleanWebpackPlugin(),     
],

以上就是一些小心得,因为我对webpack的掌握还是太浅,之后若有其他体会将会继续补充,若有错误欢迎指出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值