webpack配置-vue
npm install webpack -g //将类型文件合并为一个文件,运行时加载到根目录下,根目录下看不到此文件,是因为文件加载到了内存中,速度快,节省浏览器请求
选择根目录英文
创建src,index.html,main.js入口文件
npm init初始化,自动生成package.json文件
npm install webpack -d
//将js合并为一个js文件,webpack默认只有js
entry:path.join(_dirname,’./src/main.js’)//输入入口文件
output:{//js输出
path:path.join(_dirname,’./dist’)输出路径
filename:bundle.js文件名
},
plugins:[],
module:{rules:[{},{}..]},
- resolve:{}
}
new htmlwebpackplugin({
template:path.join(_dirname,'./src/index.html'),
filename:'index.html'
})
]
module////配置所有第三方匹配规则,合并其他文件,css、less、sass、url图片font字体等
1.先安装对应loader包,npm i css-loader style-loader less-loader
babel配置(解析高级JS语法ES6)
npm i babel-core babel-loader babel-plugin-transform-runtime -d
npm i babel-preset-env babel-preset-stage-0 -d
根目录新建文件babel的配置文件.babelrc 属于json格式
–配置:{
“presets”:[“env”,”stage-0”],
“plugins”:[“transform-runtime”,
//设置添加babel的插件
[“component”,[
{ “libraryName”:”mint-ui”, “style”:true }
]
]
]
}3.module:{
rules:[//匹配模块的匹配规则
{test:/\.less$/,use:[‘style-loader’,’css-loader’,’less-loader’]}
//所有.less文件,使用后面的loder依次合并- {test:/\.(jpg|png|jif|jpeg)$/,use:’url-loader?limit=7631&name=[hash:8]- [name].[ext]’}
//处理图片资源,?后面是传参和url方式完全一样
//参数1,limit是图片的字节大小,引用的图片小于给定的值,会被转为base64的字符串,浏览器f12图片名字
//参数2,name使用图片本来的名字,为了预防名字相同(相同时,webpack后面的图片覆盖前面的图片,导致图片渲染重复错误),在name前面添加hash:8值,每个文件的hash(最长32位)值都不同,保证图片唯一性,渲染时即便是名字相同,图片渲染内容也不会覆盖
- {test:/\.(jpg|png|jif|jpeg)$/,use:’url-loader?limit=7631&name=[hash:8]- [name].[ext]’}
{test:/\.js$/,use:’babel-loader’,exclude:/node_modules}
//// 配置 Babel 来转换高级的ES语法,exclude排除不需要的js文件
{ test: /.vue$/, use: ‘vue-loader’ }
// 处理 .vue 文件的 loader
]}