Vue中工程模板文件使用webpack打包配置的示例分析

  介绍

这篇文章主要介绍Vue中工程模板文件使用webpack打包配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强> 1,github

github地址:https://github.com/MengFangui/VueProjectTemplate

<强> 2,webpack配置

(1)基础配置webpack.base.config.js

const  path =,要求(& # 39;path & # 39;);//处理共用,通用的js   const  webpack =,要求(& # 39;webpack& # 39;);//css单独打包   const  ExtractTextPlugin =,要求(& # 39;extract-text-webpack-plugin& # 39;);   module.exports =, {   ,//入口文件   ,条目:{   主要的才能:& # 39;。/src/主要# 39;   供应商才能:& # 39;。/src/供应商# 39;   },   ,输出:{   ,,路径:path.join (__dirname, & # 39;。/dist # 39;)   },   ,模块:{   规则:,才能   ,,//vue单文件处理   ,,{   ,,,测试:,/\ .vue/美元,   ,,,使用:,[{   ,,,,装载机:,& # 39;vue-loader& # 39;   ,,,,选择:,{   ,,,,,加载器:,{   ,,,,,,少:,ExtractTextPlugin.extract ({   ,,,,,,,//minimize 启用压缩   ,,,,,,,使用:,(& # 39;css-loader ?最小化# 39;,,& # 39;autoprefixer-loader& # 39;,, & # 39; less-loader& # 39;],   ,,,,,,,回退:,& # 39;vue-style-loader& # 39;   ,,,,,,}),   ,,,,,,的css:, ExtractTextPlugin.extract ({   ,,,,,,,使用:,(& # 39;css-loader& # 39;,, & # 39; autoprefixer-loader& # 39;,, & # 39; less-loader& # 39;],   ,,,,,,,回退:,& # 39;vue-style-loader& # 39;   ,,,,,,})   ,,,,,}   ,,,,}   ,,,}]   ,,},   ,,//iview文件夹下的js编译处理   ,,{   ,,,测试:,iview \/. * ? js/美元,   ,,,装载机:,& # 39;babel-loader& # 39;   ,,},   ,,//js编译处理   ,,{   ,,,测试:,/\ . js/美元,   ,,,装载机:,& # 39;babel-loader& # 39;   ,,,排除:/node_modules/,,},   ,,//css处理   ,,{   ,,,测试:,/\ . css/美元,   ,,,使用:,ExtractTextPlugin.extract ({   ,,,,//minimize 启用压缩   ,,,,使用:,(& # 39;css-loader ?最小化# 39;,,& # 39;autoprefixer-loader& # 39;],   ,,,,回退:,& # 39;style-loader& # 39;   ,,,})   ,,},   ,,//更少的处理   ,,{   ,,,测试:,/\ .less/,   ,,,使用:,ExtractTextPlugin.extract ({   ,,,,使用:,(& # 39;css-loader ?最小化# 39;,,& # 39;autoprefixer-loader& # 39;,, & # 39; less-loader& # 39;],   ,,,,回退:,& # 39;style-loader& # 39;   ,,,})   ,,},   ,,//图片处理   ,,{   ,,,测试:,/\。(gif | jpg | png svg woff | | |测试结束| ttf) \ ? ?。*美元/,   ,,,装载机:,& # 39;url-loader ?限制=1024 & # 39;   ,,},   ,,//实现资源复用   ,,{   ,,,测试:,/\。(html | tpl)/美元,   ,,,装载机:,& # 39;html-loader& # 39;   ,,}   ,,)   },   ,解决:{//自才能动扩展文件后缀名,意味着我们需要模块可以省略不写后缀名   扩展才能:[& # 39;. js # 39;,, & # 39; .vue& # 39;],//才能模块别名定义,方便后续直接引用别名,无须多写长长的地址   ,,别名:{   ,,& # 39;vue # 39;:, & # 39; vue/dist/vue.esm.js& # 39;   ,,}   ,}   };

(2)开发环境配置webpack.dev.config.js

//处理共用,通用的js   const  webpack =,要求(& # 39;webpack& # 39;);//处理html模板   const  HtmlWebpackPlugin =,要求(& # 39;html-webpack-plugin& # 39;);//css单独打包   const  ExtractTextPlugin =,要求(& # 39;extract-text-webpack-plugin& # 39;);//合并配置   const  merge =,要求(& # 39;webpack-merge& # 39;);   const  webpackBaseConfig =,要求(& # 39;。/webpack.base.config.js& # 39;);//fs模块用于对系统文件及目录进行读写操作   const  fs =,要求(& # 39;fs # 39;);//编译前用节点生成一个js的文件,用来标明当前是开发(开发)还是生产环境(生产)   fs.open (& # 39;。/src/config/js # 39;,, & # 39; w # 39;,,函数(呃,,fd), {   ,const  buf =, & # 39; export  default “development"; & # 39;;   ,fs.write (fd,,但,,0,,buf.length,, 0,,函数(呃,,,,缓冲区),{});   });   时间=module.exports 合并(webpackBaseConfig, {   ,//打包代码的同时生成一个sourcemap文件,并在打包文件的末尾添加//#,souceURL,注释会告诉JS引擎原始文件位置   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Vue中工程模板文件使用webpack打包配置的示例分析