您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)怎樣搭建vue.js多頁面開發(fā)環(huán)境,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
利用 vue-cli 搭建的項目大都是單頁面應(yīng)用項目,對于簡單的項目,單頁面就能滿足要求。但對于有多個子項目的應(yīng)用,如果創(chuàng)建多個單頁面,顯示有點重復(fù),特別是 node_modules 會有多份相同的。如果全部放到單頁面項目下,又顯得有點亂,這時候通過改造 vue-cli 搭建的項目為多頁面,就是一個比較好的解決方法。
如何改造單頁面 vue.js 項目為多頁面項目?下面是這次改造的具體過程。
一、創(chuàng)建單頁面 vue.js 項目
這里直接使用官方提供的腳手架 vue-cli3 創(chuàng)建,具體的過程請參考「vue-cli3.0 升級記錄」
二、多頁面配置
1、添加配置文件
在項目根路徑下( 與 package.json 同目錄 )添加 vue.config.js,內(nèi)容如下:
module.exports = { pages: { index: { // 入口js的路徑 entry: './src/main', // 頁面模板路徑 template: './src/public/index.html' } } }
上面的配置其實就是 vue-cli 建立項目的默認(rèn)配置,如果增加頁面,在 pages 節(jié)點下添加配置即可。但這種方式,每次增加一個新頁面,就需要手動添加節(jié)點,這種重復(fù)的事情顯然不智能。下面繼續(xù)改造。
2、調(diào)整項目結(jié)構(gòu)
要自動化,那么就需要按定一種規(guī)則把頁面組織下。如把所有路由頁面都放到 src/pages 目錄下,改造后的結(jié)構(gòu)如下:
3、編寫自動配置文件
在項目根路徑下( 與 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() }
三、測試下
yarn dev
瀏覽器輸入:
http://localhost:8080/index.html 和 http://localhost:8080/index2.html
OK,多頁面配置完成
關(guān)于“怎樣搭建vue.js多頁面開發(fā)環(huán)境”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。