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 相关文章推荐
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
HTML的select控件美化
Mar 27 Javascript
详解React native全局变量的使用(跨组件的通信)
Sep 07 Javascript
fullpage.js最后一屏滚动方式
Feb 06 Javascript
详解使用React制作一个模态框
Mar 14 Javascript
使用vscode快速建立vue模板过程详解
Oct 10 Javascript
vue实现将一个数组内的相同数据进行合并
Nov 07 Javascript
VueX模块的具体使用(小白教程)
Jun 05 Javascript
vue如何使用rem适配
Feb 06 Vue.js
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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
js获取form的方法
2015/05/06 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
vue实现文件上传功能
2018/08/13 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python中super函数的用法
2017/11/17 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
企业项目策划书
2014/01/11 职场文书
公司委托书范本
2014/04/04 职场文书
学生偷窃检讨书
2014/09/25 职场文书
申报优秀教师材料
2014/12/16 职场文书
教师节随笔
2015/08/15 职场文书
数据库之SQL技巧整理案例
2021/07/07 SQL Server
Python中的嵌套循环详情
2022/03/23 Python