上面使用webpack自动打包完成后,需要手动在浏览器中输入网址,自动打开浏览器的设置如下:
//package.json中的配置
//--open 打包完成后自动打开浏览器
//--host 配置IP地址
//--port 配置端口
"scripts":{
"dev":"webpack-dev-server --open --host 127.0.0.1 --port 8888"
}
在实际开发过程中,webpack默认只能打包以.js为后缀结尾的模块,其他非.js后缀的模块处理不了,需要调用loader加载器才能正常打包,否则报错。

npm i style-loader css-loader -D命令,安装css文件啊的loadermodule.exports = {
mode:"development",
//增加module->rules数组
module:{
//test表示匹配的文件类型,//中间写正则表达式
//use表示要调用的loader
rules:[
{ test:/\.css$/,use:['style-loader','css-loader']}
]
}
}
注意:use数组的顺序是固定的不能随意改动,因为loader调用的顺序是从后向前调用
npm i less-loader less -D命令module:{
//test表示匹配的文件类型,//中间写正则表达式
//use表示要调用的loader
rules:[
{ test:/\.less$/,use:['style-loader','css-loader','less-loader']}
]
}
npm i sass-loader node-sass -D命令module:{
//test表示匹配的文件类型,//中间写正则表达式
//use表示要调用的loader
rules:[
{ test:/\.scss$/,use:['style-loader','css-loader','sass-loader']}
]
}
css针对不同的浏览器效果是不同的,所以需要使用兼容性的css
npm i postcss-loader autoprefixer -Dconst autoprefixer = require("autoprefixer") //导入自动添加前缀的插件
module.exports={
plugins:[autoprefixer] //挂在插件
}
module.exports = {
mode:"development",
//增加module->rules数组
module:{
//test表示匹配的文件类型,//中间写正则表达式
//use表示要调用的loader
rules:[
{ test:/\.css$/,use:['style-loader','css-loader','postcss-loader']}
]
}
}
webpack默认处理不了样式表中的路径
npm i url-loader file-loader -Dmodule:{
//test表示匹配的文件类型,//中间写正则表达式
//use表示要调用的loader
rules:[
{ test:/\.jpg|png|gif|bmp|ttf|svg$/,
use:"url-loader?limit=1666"}//?之后是loader的参数项目
//limit指定图片大小,单位为字节,只有小于limit的图片,才会转成base64图片
]
}
安装babel转换器相关的包:npm i babel-loader @babel/core @babel/runtime -D
安装babel语法插件相关的包:npm i @babel/preset-env @babel/plugin-transform-runtime @babel/plugin-proposal-class-properties -D
在项目根目录创建babel配置文件babel.config.js并初始化
module.exports={
presets:["@babel/preset-env"],
plugins:["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties"]
}
module:{
//test表示匹配的文件类型,//中间写正则表达式
//use表示要调用的loader
rules:[
{ test:/\.js$/,
use:"babel-loader",
exclude:/node_modules/ //exclude为排除项目,不需要处理node_modules中的js文件,只需要处理自己写的js
}]
}
基本结构

<template>
<div>
<h1>这是APP根组件</h1>
</div>
</template>
<script>
export default{
data(){
return {};
},
methods:{}
};
</script>
<style>
h1{
color: red;
}
</style>
npm i vue-loader vue-template-compiler -Dconst VueLoaderPlugin = require("vue-loader/lib/plugin")
module.exports ={
module:{
rules:{test:/\.vue$/,loader:"vue-loader"}
},
plugins:[new VueLoaderPlugin()]
}
npm i vue -S安装vueimport Vue from "vue"来导入vue函数render函数渲染App根组件
在package.json中配置打包命令
"scripts":{
"build":"webpack -p"//执行npm build,则默认在dist中生成最终文件
}