vue-cli 3.0 自定义vue.config.js文件,多页构建的方法


Posted in Javascript onSeptember 19, 2018

使用自己基于vue-cli 2.X改造的前端多页脚手架有近1年多时间了,一直没机会升级3.0版本

开始零零碎碎开始写一些功能,顺便分享一下

const path = require('path')
const glob = require('glob')
/** 获取多页的入口脚本和模板 */
const getPages = (() => {
 const [
 globPathHtml,
 globPathJs,
 pages,
 tempSet
 ] = [
 ['./src/modules/**/index.html', 'template'], // 入口模板正则
 ['./src/modules/**/main.js', 'entry'], // 入口脚本正则
 Object.create(null),
 new Set()
 ]
 const getMultiPageConf = (globPath, keyName) => {
 let [fileList, tempArr, modName] = [glob.sync(globPath), [], null]
 if (fileList.length !== 0) {
  for (let entry of fileList) {
  tempArr = path.dirname(entry, path.extname(entry)).split('/')
  modName = tempArr[tempArr.length - 1]
  if (tempSet.has(modName)) {
   Object.assign(pages[modName], { [keyName]: entry, 'filename': `${modName}.html` })
  } else {
   Reflect.set(pages, modName, { [keyName]: entry }) && tempSet.add(modName)
  }
  }
  return true
 } else {
  if (keyName === 'template') {
  throw new Error('无法获取多页入口模板')
  } else if (keyName === 'entry') {
  throw new Error('无法获取多页入口脚本')
  } else {
  throw new Error('无法获取多页信息')
  }
 }
 }
 try {
 while (getMultiPageConf(...globPathHtml) && getMultiPageConf(...globPathJs)) return pages
 } catch (err) {
 console.log('获取多页数据错误:', err)
 }
})()
console.log('pages: ', getPages)

打印结果:

pages: { mod1:
 { template: './src/modules/mod1/index.html',
  entry: './src/modules/mod1/main.js',
  filename: 'mod1.html' },
 mod2:
 { template: './src/modules/mod2/index.html',
  entry: './src/modules/mod2/main.js',
  filename: 'mod2.html' },
 mod3:
 { template: './src/modules/mod3/index.html',
  entry: './src/modules/mod3/main.js',
  filename: 'mod3.html' } }

使用:

/** vue.config.js */
module.exports = {
 ...
 pages: getPages
 ...
}

以上这篇vue-cli 3.0 自定义vue.config.js文件,多页构建的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
按给定几率进行随机抽取的js代码
Dec 28 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
Apr 15 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 Javascript
jQuery实现的简单分页示例
Jun 01 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
Dec 18 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
详解vue表单——小白速看
Apr 08 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
vue实现标签云效果的示例
Nov 09 Javascript
vue.extend与vue.component的区别和联系
Sep 19 #Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 #Javascript
自己动手封装一个React Native多级联动
Sep 19 #Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 #Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 #Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 #Javascript
node.js环境搭建图文详解
Sep 19 #Javascript
You might like
PHP 变量定义和变量替换的方法
2009/07/30 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
php curl常用的5个经典例子
2017/01/20 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
ArrayList类(增强版)
2007/04/04 Javascript
javascript AutoScroller 函数类
2009/05/29 Javascript
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
python3编码问题汇总
2016/09/06 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Python笔记之代理模式
2019/11/20 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
Python实现疫情地图可视化
2021/02/05 Python
大学应届毕业生个人求职信
2013/09/23 职场文书
自主招生自荐信格式
2013/12/03 职场文书
事业单位公务员的职业生涯规划
2014/01/15 职场文书
超市中秋节促销方案
2014/03/21 职场文书
学习经验交流会主持词
2014/04/01 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
安全温馨提示语大全
2015/07/14 职场文书