最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解讀vue分頁面打包方式

 更新時(shí)間:2023年01月14日 08:37:08   作者:風(fēng)雨前行者  
這篇文章主要介紹了解讀vue分頁面打包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue分頁面打包

最近了解了一些關(guān)于vue分頁面打包的方式,因?yàn)榻佑|的可能不是很深入,所以就簡(jiǎn)單記錄一下

第一步

修改vue目錄結(jié)構(gòu),修改為下圖的方式

大致分為:

1、在src下創(chuàng)建一個(gè)存儲(chǔ)所有頁面的文件夾,

2、創(chuàng)建每個(gè)獨(dú)立頁面的文件夾,用來存儲(chǔ)src下所有的文件(例如:main.js,App.vue、store,router)等等這些文件,放到這個(gè)你創(chuàng)建好的文件夾中(相當(dāng)于小型的vue項(xiàng)目)

3、每個(gè)獨(dú)立頁面都有一個(gè)這種小型的vue文件夾

第二步

修改配置文件,修改vue.config.js頁面如下圖:

為了防止頁面多是發(fā)生混亂,我新建了一個(gè)config文件夾(上圖目錄的config文件夾),用來修改頁面配置

這個(gè)pageConfig.js文件配置如下:

const config = {
  pageA: {
    entry: "./src/pages/pageA/main.js",// 入口文件
    template: "public/index.html", // 模板html文件
    filename: "pageA.html" // 修改打包后的html文件名
  },
  pageB: {
    entry: "./src/pages/pageB/main.js",
    template: "public/index.html",
    filename: "pageB.html"
  }
}
 
module.exports = config

然后再vue.config.js文件中配置一下代碼

至于為什么要用三木判斷呢,是因?yàn)樵陧?xiàng)目打包時(shí),打包獨(dú)立頁面需要有一層包裹,但是啟動(dòng)項(xiàng)目時(shí)不需要,因?yàn)槲以谶@里判斷了一下(因?yàn)闆]有找到更好的解決方式,所以如果有好方法的小伙伴可以分享一下)

const config = require("./config/pageConfig.js");
const projectName = process.env.PROJECT_NAME;
 
module.exports = {
   pages:projectName ? { index: config[projectName] } : config,  // 打包時(shí)需要自定義文件名 啟動(dòng)不需要
   publicPath: './',
   outputDir: 'dist/' + projectName + '/', //  打包后的文件夾名稱,默認(rèn)dist
   devServer: {
    index: 'pageA.html'//  默認(rèn)啟動(dòng)頁面
  }
}

第三步

以上步完成后需要配置一下 package.json這個(gè)頁面,配置如下:

只需要修改一下打包方式即可,啟動(dòng)的話我還是比較喜歡整個(gè)項(xiàng)目都啟動(dòng)起來(因?yàn)榭吹接泻芏嗳硕际菃为?dú)頁面啟動(dòng)的,覺得很麻煩)

使用下面的corss-env的話是需要下一個(gè)插件的,可以使用:npm install --save-dev cross-env 方式進(jìn)行下載 

代碼中配置的 PROJECT_NAME=pageA 是自定義的,看你給頁面起的名字是什么就配置什么,獲取這個(gè)的方式就是上圖中 process.env.PROJECT_NAME 方法可以直接獲取到等號(hào)右邊的名字

 "scripts": {
    "build:pageA": "cross-env PROJECT_NAME=pageA vue-cli-service build",
    "build:pageB": "cross-env PROJECT_NAME=pageB vue-cli-service build",
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },

自此,配置完上面這些東西,你的項(xiàng)目就可以進(jìn)行打包了,打包的方式就是你再pageage.json中配置的打包方式 我的方式就是  npm run build:pageA  或者 npm run build:pageB 打包出來的效果就是兩個(gè)單獨(dú)的頁面配置

然后還想說一下我發(fā)現(xiàn)的兩個(gè)注意事項(xiàng)

第一個(gè)

當(dāng)我們使用UI框架時(shí),最好使用按需引入的方式(大致可以想象一下,如果有多個(gè)頁面,每個(gè)頁面都使用整套的UI框架,會(huì)是什么場(chǎng)景,你的項(xiàng)目我估計(jì)就要炸了)

第二個(gè) 

每個(gè)頁面直接如果想要相互跳轉(zhuǎn),使用的方式是  window.localhost.href = “頁面名字”或者 window.open("頁面名字") 這種方式,這是因?yàn)槊恳豁?xiàng)目都相當(dāng)于小型的vue項(xiàng)目,每個(gè)頁面都是獨(dú)立的,所以使用路由的方式跳轉(zhuǎn)是跳轉(zhuǎn)不過去的,不過我查到有相關(guān)的配置方式好像是可以的,這個(gè)大家就自己去查閱一下吧

總結(jié)

好了目前知道的也就這么多,以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁計(jì)算器

    Vue實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • VUE兄弟組件傳值操作實(shí)例分析

    VUE兄弟組件傳值操作實(shí)例分析

    這篇文章主要介紹了VUE兄弟組件傳值操作,結(jié)合實(shí)例形式分析了VUE兄弟組件傳值操作的原理、步驟、實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • vue中異步函數(shù)async和await的用法說明

    vue中異步函數(shù)async和await的用法說明

    這篇文章主要介紹了vue中異步函數(shù)async和await的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 簡(jiǎn)單談?wù)剉ue的過渡動(dòng)畫(推薦)

    簡(jiǎn)單談?wù)剉ue的過渡動(dòng)畫(推薦)

    下面小編就為大家?guī)硪黄?jiǎn)單談?wù)剉ue的過渡動(dòng)畫(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • uniapp中如何基于vue3實(shí)現(xiàn)輸入驗(yàn)證碼功能

    uniapp中如何基于vue3實(shí)現(xiàn)輸入驗(yàn)證碼功能

    本文介紹了如何使用uniapp和vue3創(chuàng)建一個(gè)手機(jī)驗(yàn)證碼輸入框組件,通過封裝VerificationCodeInput.vue組件,并在父組件中引入,可以實(shí)現(xiàn)驗(yàn)證碼輸入功能,適合需要增加手機(jī)驗(yàn)證碼驗(yàn)證功能的開發(fā)者參考使用
    2024-09-09
  • vue?表格單選按鈕的實(shí)現(xiàn)方式

    vue?表格單選按鈕的實(shí)現(xiàn)方式

    這篇文章主要介紹了vue?表格單選按鈕的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 解決Vue_localStorage本地存儲(chǔ)和本地取值問題

    解決Vue_localStorage本地存儲(chǔ)和本地取值問題

    這篇文章主要介紹了解決Vue_localStorage本地存儲(chǔ)和本地取值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 如何在vue中使用HTML 5 拖放API

    如何在vue中使用HTML 5 拖放API

    這篇文章主要介紹了如何在vue中使用HTML 5 拖放API,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • 淺談Vue 初始化性能優(yōu)化

    淺談Vue 初始化性能優(yōu)化

    本篇文章主要介紹了淺談Vue 初始化性能優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • axios封裝與傳參示例詳解

    axios封裝與傳參示例詳解

    這篇文章主要給大家介紹了關(guān)于axios封裝與傳參的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論

广东省| 青浦区| 太谷县| 潍坊市| 富宁县| 宜川县| 日照市| 灌南县| 平遥县| 阿克陶县| 巴彦淖尔市| 长葛市| 龙泉市| 乌兰察布市| 财经| 德阳市| 平原县| 磴口县| 定西市| 吉首市| 应用必备| 威信县| 五河县| 福泉市| 康平县| 纳雍县| 余江县| 尼玛县| 临沭县| 盐源县| 襄垣县| 万年县| 军事| 沂南县| 雷山县| 彩票| 孟津县| 南溪县| 洛川县| 寿阳县| 龙江县|