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 相关文章推荐
JQuery中getJSON的使用方法
Dec 13 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
Oct 21 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
JS实现DIV高度自适应窗口示例
Feb 16 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
Aug 24 Javascript
详解原生JS回到顶部
Mar 25 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
vue组件间的参数传递实例详解
Apr 26 Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
Feb 25 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 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的输入输出流
2007/02/14 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
D3.js实现直方图的方法详解
2016/09/25 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
vue实现移动端input上传视频、音频
2020/08/18 Javascript
Python读写Excel文件的实例
2013/11/01 Python
python3图片转换二进制存入mysql
2013/12/06 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
Python程序运行原理图文解析
2018/02/10 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
教师求职推荐信范文
2013/11/20 职场文书
10的分与合教学反思
2014/04/30 职场文书
企业安全生产承诺书
2014/05/22 职场文书
工地安全质量标语
2014/06/07 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2014财务年度工作总结
2014/11/11 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书