vue.js多頁(yè)面開(kāi)發(fā)環(huán)境搭建過(guò)程
利用 vue-cli 搭建的項(xiàng)目大都是單頁(yè)面應(yīng)用項(xiàng)目,對(duì)于簡(jiǎn)單的項(xiàng)目,單頁(yè)面就能滿足要求。但對(duì)于有多個(gè)子項(xiàng)目的應(yīng)用,如果創(chuàng)建多個(gè)單頁(yè)面,顯示有點(diǎn)重復(fù),特別是 node_modules 會(huì)有多份相同的。如果全部放到單頁(yè)面項(xiàng)目下,又顯得有點(diǎn)亂,這時(shí)候通過(guò)改造 vue-cli 搭建的項(xiàng)目為多頁(yè)面,就是一個(gè)比較好的解決方法。
如何改造單頁(yè)面 vue.js 項(xiàng)目為多頁(yè)面項(xiàng)目?下面是這次改造的具體過(guò)程。
一、創(chuàng)建單頁(yè)面 vue.js 項(xiàng)目
這里直接使用官方提供的腳手架 vue-cli3 創(chuàng)建,具體的過(guò)程請(qǐng)參考「vue-cli3.0 升級(jí)記錄」
二、多頁(yè)面配置
1、添加配置文件
在項(xiàng)目根路徑下( 與 package.json 同目錄 )添加 vue.config.js,內(nèi)容如下:
module.exports = { pages: { index: { // 入口js的路徑 entry: './src/main', // 頁(yè)面模板路徑 template: './src/public/index.html' } } }
上面的配置其實(shí)就是 vue-cli 建立項(xiàng)目的默認(rèn)配置,如果增加頁(yè)面,在 pages 節(jié)點(diǎn)下添加配置即可。但這種方式,每次增加一個(gè)新頁(yè)面,就需要手動(dòng)添加節(jié)點(diǎn),這種重復(fù)的事情顯然不智能。下面繼續(xù)改造。
2、調(diào)整項(xiàng)目結(jié)構(gòu)
要自動(dòng)化,那么就需要按定一種規(guī)則把頁(yè)面組織下。如把所有路由頁(yè)面都放到 src/pages 目錄下,改造后的結(jié)構(gòu)如下:
3、編寫自動(dòng)配置文件
在項(xiàng)目根路徑下( 與 package.json 同目錄 )添加 vue.util.js,內(nèi)容如下:
const path = require('path') const glob = require('glob') const START_PATH = '/src/pages/' const PAGE_PATH = path.resolve(__dirname, '.' + START_PATH) exports.pages = function () { var entryFiles = glob.sync(PAGE_PATH + '/**/*.html') var obj = {} entryFiles.forEach((filePath) => { var dirPath = filePath.substring(0, filePath.lastIndexOf('/')) var dirName = dirPath.substring(dirPath.lastIndexOf('/') + 1) var filename = filePath.substring(filePath.lastIndexOf(START_PATH) + START_PATH.length, filePath.lastIndexOf('/')) if (filename.endsWith(dirName)) { obj[filename] = { entry: filePath.substring(0, filePath.lastIndexOf('.html')) + '.js', template: filePath.substring(0, filePath.lastIndexOf('.html')) + '.html' } } }) return obj }
在 vue.config.js 使用上面的配置
const utils = require('./vue.util') module.exports = { pages: utils.pages() }
三、測(cè)試下
yarn dev
瀏覽器輸入:
http://localhost:8080/index.html 和 http://localhost:8080/index2.html
OK,多頁(yè)面配置完成
總結(jié)
以上所述是小編給大家介紹的vue.js多頁(yè)面開(kāi)發(fā)環(huán)境搭建過(guò)程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- 一文搞明白vue開(kāi)發(fā)者vite多環(huán)境配置
- vue項(xiàng)目多租戶環(huán)境變量的設(shè)置
- vue項(xiàng)目多環(huán)境配置(.env)的實(shí)現(xiàn)
- vue-cli4.0多環(huán)境配置變量與模式詳解
- Vue多環(huán)境代理配置方法思路詳解
- vue-cli項(xiàng)目配置多環(huán)境的詳細(xì)操作過(guò)程
- 基于vue cli 通過(guò)命令行傳參實(shí)現(xiàn)多環(huán)境配置
- 通過(guò)vue-cli來(lái)學(xué)習(xí)修改Webpack多環(huán)境配置和發(fā)布問(wèn)題
- Vue+Vite+Axios項(xiàng)目多環(huán)境以及部署前后端跨域
相關(guān)文章
VUE +Element 實(shí)現(xiàn)多個(gè)字段值拼接功能
這篇文章主要介紹了VUE +Element 實(shí)現(xiàn)多個(gè)字段值拼接,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04

Vue首頁(yè)界面加載優(yōu)化實(shí)現(xiàn)方法詳解

Vue組件模板形式實(shí)現(xiàn)對(duì)象數(shù)組數(shù)據(jù)循環(huán)為樹(shù)形結(jié)構(gòu)(實(shí)例代碼)

基于Vue實(shí)現(xiàn)HTML轉(zhuǎn)PDF并導(dǎo)出

Vue input輸入框回車以后自動(dòng)刷新頁(yè)面(直播程序)