Webpack打包步骤

配置webpack的自动打包文件

  • 运行npm install webpack-dev-serve -D 命令,安装支持项目打包的工具
  • 修改pakage.json ->scripts中的dev命令如下
"scripts":{
"dev":"webpack-dev-server" //script节点下的脚本,可以通过npm run 执行
  • 将src ->index.html中,script脚本中的路径,修改为buldle.js“”
  • 运行npm run dev 命令,重新就行打包
  • 在浏览器中访问 http://localhost:8080地址,查看自动打包效果

得到的页面是跟目录,如果想要把呈现的页面展示出来,需要先配置html-webpack-plugin生成预览页面
配置html-webpack-plugin生成预览页面

 - 1 运行npm install html-webpack-plugin -D 命令,安装在预览生成页面的插件
 - 2 修改webpack.json.js 头部文件区域,添加如下配置
导入生成预览页面的插件,得到一个构造函数
const HtmlWebpackPlugin=require('html-webpack-plugin')
//创建插件实例对象
const htmlPlugin =new HtmlWebpackPlugin({ 
template:'./src/index.html'//指定用到的模板文件 即复制那个模板文件
filename:'index.html' //指定生成的文件名称,该文件存在于内存中,在目录中不显示
})
 - 3 修改webpack.config.js 文件中向外暴露的配置对象,新增如下配置节点
 modle.exports={
plugins:[htmlPlugin] //plugin数组是webpack打包期间会用到的一些插件表
}

需求:点击完页面自动呈现页面 webpack配置自动打包相关的参数

//package.json中的配置
//--open打包完成后自动打开浏览器
//--host配置IP地址
//--port配置端口
"scripts"{
"dev":"webpack-dev-server --open --host:127.0.0.1 --post 8888"
},

webpack加载器
通过loader打包非js模块
在实际开发中,webpack默认只能以打包处理以.js后缀名结束的模块,其他非.js后缀名结尾的模块,webpack默认处理不了,需要调用loader加载器才可以正常打包,否则会报错。
loader加载器可以协助webpack打包处理.less先关的文件
比如 less-loader可以打包.less先关的文件
scss-loader可以打包处理.scss先关的文件
url-loader可以打包处理css中与url路径相关的文件
loader的调用过程
webpack中加载器的基本使用

打包处理css文件步骤


 1. 运行npm i style-loader  css-loader -D 命令,安装处理css文件的loader
 2. 在webpack.config.js的moudle ->rules数组中,添加loader规则如下:
 //所有第三方文件模块匹配规则
 module:{
	rules:[
	{text:/\.css$/,use:['style-loader','css-loader']}
]
}
其中,test表示配置文件类型,use表示对应调用的loader, $代表以css结尾的文件类型
注意:use数组中指定的loader顺序时固定的   
     多个loader的顺序是从后往前调用

打包处理less文件


 1. 运行npm i less-loader -D命令
 2. 在webpack。config.js的module ->rules数组中,添加loader规则如下:
 //所以第三方文件模板匹配规则
 moudle:{
 	rules:[{
	{tets:/\.less$/,use:['style-loader','css-loader','less-loader']}
}]}

webpack打包scss文件


 1. 运行npm i sass-loader node-sass -D 命令
 2. 在webpack.config.js的moudle ->rules数组中,添加loader规则如下:
 	//所有第三方文件模块匹配规则
 	moudle:{
	rules:[
		{test://.scss/,use:['style-loader','cass-loader','']}
	]
}

配置postCSS自动添加css的兼容前缀


 1. 运行npm i postcss-loader autoprefixar -D命令
 2. 在项目根目录中创建postcss.config.js,并初始化如下配置:

 //导入自动添加前缀的插件
 	const autoprefixer=require('autoprefixer')
 	moudle.export={
	plugins:[autoprefixer] //挂载插件
}
 3. 在webpack。config.js的moudle ->rules数组中,修改css的loader的规则如下:
 	moudle:{
 	rules:[
 	{test:/\.css$/,use:['style-loader','css-loader','postcss-loader']}
 	]
 	}

打包样式表中的图片和字体文件


 1. 运行npm i  url-loader file-loader -D命令
 2. 在webpack.config.js的moudle- >rules的数组中,添加loader规则如下:
 	moudle:{
 	rules:[
 	{
 	test:/\.jpg|gif|bmp|ttf|eot|svg|woff|woff2$/,
 	use:'url-loader?limit=16940'
 	}
 	]
 	}
 	其中?之后是loader的参数项
 	limit用来指定图片的大小,单位是字节(byte),只有小于limit大小的图片,才会被转化为base64图片

打包js文件中的高级语法


 1. 安装babal转化器相关的包:
  npm i babel-loader @babel/core @babel/runtime -D
 2.安装babel语法插件相关的包:
 npm i @balel/preset-env @babel/plugin/plugin-transform-runtime @babel/plugin-proposal-class-properties -D
3.在项目根目录中,创建babel配置文件babel.config.js并初始化基本配置如下:
	moudle.exports:{
	presets:['@babel/preset-env'],
	plugins:['@babel/plugin-transform-runtime','@babel/plugin-proposal-class-properties']
	}
4.在webpack.config.js的moudle ->rules数组中,添加loader规则如下:
	//exclude为排除项 表示babel-loader不需要处理node-modules中的js文件
{test:/\.js$/,use:'babel-loader',exclude:/node_moudles/}
	

webpack中配置vue组件的加载器


 1. 运行npm i vue-loader Vue-template-compiler -D命令
 2. 在webpack.config.js配置文件中,添加Vue-loader的配置项如下:
 	const VueLoaderPlugin=require('Vue-loader/lib/plugin')
 	moudle:{
 	rules:[
 	//其他规则
 	{test:/\.Vue$/,loader:'vue-loader'}
 	]
 	},
 	plaugins:[
 	//其他插件
 	new VueLoaderPlugin() //确保引入这个插件
 	]

在webpack项目中使用Vue


 1. npm i vue -s  安装vue
 2. 在src -> index.js入口文件中,通过inport Vue form  'Vue' 来导入vue构造函数
 3. 创建vue的实例对象,并要指定控制的el区域
 4. 通过render函数渲染APP根组件
 	//导入vue构造函数
 	import Vue form 'Vue'
 	//导入App根组件
 	import App form './components/App.vue'
	const vm=new Vue({
 	//指定vm实例要控制的页面区域
 	el:'#app',
 	//通过render函数,把指定的数组渲染到el区域中
 	render: h=>h(App)
	})

webpack打包发布

上线之前需要通过webpack将应用进行整体打包,可以通过package.json文件配置打包命令:

 - //在package.json文件配置webpack.json打包命令
 - //该命令默认加载项目根目录中的webpack.config.js配置文件
"script":{
//用于打包的命令
"builde":"webpack -p"
//用于开发调试的命令
"dev":"webpack-dev-server --open --host 127.0.0.1 --post 3000",
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值