vue-cli 3.0 自定義vue.config.js文件,多頁構(gòu)建的方法
更新時間:2018年09月19日 11:42:20 作者:franks_t_d
今天小編就為大家分享一篇vue-cli 3.0 自定義vue.config.js文件,多頁構(gòu)建的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
使用自己基于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('獲取多頁數(shù)據(jù)錯誤:', err)
}
})()
console.log('pages: ', getPages)
打印結(jié)果:
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文件,多頁構(gòu)建的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3表單組件el-form校驗規(guī)則rules屬性示例詳解
在el-form中正確使用rules校驗是非常重要的,rules使用不當(dāng)容易出現(xiàn)規(guī)則不生效、規(guī)則一直被觸發(fā)等各種現(xiàn)象,這篇文章主要給大家介紹了關(guān)于Vue3表單組件el-form校驗規(guī)則rules屬性的相關(guān)資料,需要的朋友可以參考下2024-08-08
在vue上使用cesium開發(fā)三維地圖的詳細(xì)過程
這篇文章主要給大家介紹了關(guān)于在vue上使用cesium開發(fā)三維地圖的詳細(xì)過程,Cesium是一個強大的JavaScript庫,支持三維地理信息展示,并提供了豐富的地理空間數(shù)據(jù)可視化功能,需要的朋友可以參考下2023-12-12
vue使用百度地圖報錯BMap?is?not?defined問題及解決
這篇文章主要介紹了vue使用百度地圖報錯BMap?is?not?defined問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
vue2+element-ui使用vue-i18n進行國際化的多語言/國際化詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于vue2+element-ui使用vue-i18n進行國際化的多語言/國際化的相關(guān)資料,I18n是Vue.js的國際化插件,項目里面的中英文等多語言切換會使用到這個東西,需要的朋友可以參考下2023-12-12

