webpack配置的最佳实践分享
本文主要介绍了关于webpack配置的最佳实践,本文分享的实践具有以下的优势:
- 使用happypack提升打包速度。
- 使用MD5hash可以生成文件版本,进行版本控制
- 在非单页面的系统中支持多个入口的配置
- 模板中可以利用htmlplugin输出一些配置性的信息
- 支持devserver,支持本地json数据的mock
一、webpack最佳实践中的需求
1.热加载
2.语法校验
3.js打包
4.模板打包
二、解决方案
1.webpack.config.json
varpath=require('path'); varfs=require('fs'); varexec=require('child_process').exec; varHappyPack=require('happypack'); varmerge=require('webpack-merge'); varwebpack=require('webpack'); varWebpackMd5Hash=require('webpack-md5-hash'); varHtmlwebpackPlugin=require('html-webpack-plugin'); varROOT_PATH=path.resolve(__dirname); varAPP_PATH=path.resolve(ROOT_PATH,'app'); varBUILD_PATH=path.resolve(ROOT_PATH,__dirname+'/devserver/public'); //取出页面文件映射 functiongetHtmlPluginArr(){ vardata=JSON.parse(fs.readFileSync('entryconf.json','utf-8')); varpageList=data.pageList; varresultObj={ "pluginArr":[], "entryObj":{} }; for(varindex=0;index2.模板文件的配置:
<%=htmlWebpackPlugin.options.title||'上单'%>
3.webpack.dev.config.json配置
varpath=require('path'); varfs=require('fs'); varmerge=require('webpack-merge'); varwebpack=require('webpack'); varHtmlwebpackPlugin=require('html-webpack-plugin'); varOpenBrowserPlugin=require('open-browser-webpack-plugin'); varROOT_PATH=path.resolve(__dirname); varAPP_PATH=path.resolve(ROOT_PATH,'app'); varBUILD_PATH=path.resolve(ROOT_PATH,'build'); varMODULE_PATH=path.resolve(ROOT_PATH,'node_modules'); //取出页面文件映射 functiongetHtmlPluginArr(){ vardata=JSON.parse(fs.readFileSync('app/entries.json','utf-8')); varpageList=data.pageList; varresultObj={ "pluginArr":[], "entryObj":{} }; for(varindex=0;index总结
以上就是关于webpack最佳配置的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。