时间:2021-05-26
前言
年初的时候公司的老后台系统实在难以维护和继续在其上开发了,因为这个系统被很多人写过页面,有前端有后端,编写前端代码时都非常随意,加之没有模块化,复用性和可维护性都极低,便下定决定,重新搞一套。
经过一段时间的调研选择了vue全家桶+elementUI来开发后台系统,让交互体验更好,让开发体验更好,让生产效率提高。
从零搭建其实考虑的事情还挺多的,比如:
这篇文章来记录下和脚手架相关的改造,首先其实就是上了vue-cli来做,可是呢?由于预计项目会有很多页面,这些页面其实是分模块的,不同模块的页面之前其实关系不大。所以我觉得一个用户其实大部分时候只会用到其中一个模块的页面,如果把所有页面做成一个单页应用很多资源加载就不是很必要了,所以第一个改造就是:做成多入口打包,也就是做成多个单页应用,每个模块一个入口。
/build/utils
exports.getEntries = function (globPath) { var entries = {} glob.sync(globPath).forEach(function (entry) { var basename = path.basename(entry, path.extname(entry)) entries[basename] = entry }) return entries}/build/webpack.base.conf
module.exports = { entry: utils.getEntries('./src/modules/**.html') Object.keys(modules).forEach(function (moduleName) { var config = { filename: moduleName + '/index.html', template: modules[moduleName], inject: true, excludeChunks: Object.keys(modules).filter(function (name) { return name != moduleName }) } module.exports.plugins.push(new HtmlWebpackPlugin(config))})这样就完成了多页面的入口配置,其核心就是两点:1. 入口配置成数组。2. plugins里面添加多个HtmlWebpackPlugin分别对应每一个页面,完成js打包后路径的自动注入功能。
这里还有个地方需要注意,就是抽取公用的js和css代码出来,这里做了一下改造,就是echarts指定提取出来,而不是按引用次数那种自动提取, 这里还踩了个坑,详细见注释。
在webpack.prod.conf的plugins里面加入:
entry: { vendor: ['vue', 'vue-router', 'vuex', 'element-ui'], echarts: ['vue-echarts'] },// 这个地方天坑啊~~~死人了。。。:( // vendor是echarts的父模块,顺序不能反:https://github.com/webpack/webpack/issues/1943 // 包括声明CommonsChunkPlugin的顺序也是有关系的,不是随意的,后声明的是顶级模块,先声明的是依赖顶级模块的模块 // HtmlWebpackPlugin注入模块链接的时候的顺序也是由此保证的 new webpack.optimize.CommonsChunkPlugin({ names: ['echarts', 'vendor'], minChunks: function (module, count) { // 抽取公用vendor.css // console.log(module.resource) return ( module.resource && /\.css$/.test(module.resource) && module.resource.indexOf( path.join(__dirname, '../node_modules') ) === 0 ) } }),总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
vue-cli是vue.js的脚手架,用于自动生成vue.js模板工程的。1、安装vue-cli使用npm全局安装vue-cli(前提是已经安装了nodejs,
本文介绍了VsCode新建VueJs,分享给大家,具体如下:使用vue-cli快速构建项目(vue-cli是vue.js的脚手架,用于自动生成vue.js模板工
前言vue-cli是一个官方发布vue.js项目脚手架,Vue-cli可以快速帮助我们创建一个项目,这是官方给我们提供的脚手架。下面我说一下vue-cli的使用
vue-cli是一个官方发布vue.js项目脚手架,使用vue-cli可以快速创建vue项目,GitHub地址是:https://github.com/vuej
vue.js学习踩坑第一步1.首先安装vue-cli脚手架不多赘述,主要参考Vue爬坑之路(一)——使用vue-cli搭建项目2.项目呈现效果项目呈现网址:/f