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

vue單頁(yè)面改造多頁(yè)面應(yīng)用詳解第2/2頁(yè)

 更新時(shí)間:2022年06月26日 10:03:57   作者:web老猴子  
本文主要介紹了vue單頁(yè)面改造多頁(yè)面應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
= { entry: `src/pages/${page}/main.js`, // page 的入口 template: `public/index.html`, // 模板來(lái)源 filename: `${page}.html`, // 在 dist/index.html 的輸出 } } const page = process.argv[3] || 'index' // 如果是 開發(fā)環(huán)境,運(yùn)行階段 if (!isProduction) { for (const page of buildEntries) { initPageParams(page) } } else { // 只有在生產(chǎn)打包的時(shí)候,單獨(dú)打包,拆成不用的文件夾 initPageParams(page) } module.exports = { publicPath: './', outputDir: 'dist', assetsDir: isProduction ? page : 'static', productionSourceMap: false, pages: modules, devServer: { port: 8080 }, lintOnSave: false }

這時(shí)候我們npm run build:index 嘗試查看打包結(jié)果,可以看到,可以將index對(duì)應(yīng)的文件全部放在index文件目錄下,如果我們需要打包home,直接npm run build:home

 File                                      Size             Gzipped

  dist\index\js\chunk-vendors.c60bfe2f.j    1837.82 KiB      527.87 KiB
  s
  dist\index\js\index.e2aa144d.js           11.28 KiB        4.12 KiB
  dist\index\js\about.2a86a3cb.js           0.43 KiB         0.28 KiB
  dist\index\css\chunk-vendors.ef376986.    456.88 KiB       55.99 KiB
  css
  dist\index\css\index.5dfa7415.css         0.45 KiB         0.28 KiB

  Images and other types of assets omitted.
  Build at: 2022-05-03T03:46:54.824Z - Hash: e2d53105a245deab - Time: 12711ms

 DONE  Build complete. The dist directory is ready to be deployed.
 INFO  Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html 

現(xiàn)在我們已經(jīng)實(shí)現(xiàn)了,單獨(dú)page單獨(dú)打包,但我們?nèi)绻?,一個(gè)命令打包所有的page呢。這個(gè)時(shí)候我們就需要node一個(gè)方法來(lái)幫助我們實(shí)現(xiàn)了 我們?cè)趩为?dú)建一個(gè)js文件代碼如下

const fs = require('fs');
const execSync = require('child_process').execSync;
const { buildEntries } = require('../config/getPages');

// 移除目錄
function deleteDist(path) {
  let files = [];
  // 判斷目錄是否存在
  if (fs.existsSync(path)) {
    files = fs.readdirSync(path); // 讀取目錄
    // @ts-ignore
    files.forEach((file) => {
      const curPath = path + '/' + file; // 拼接目錄寫文件完整路徑
      if (fs.statSync(curPath).isDirectory()) { // 讀取文件路徑狀態(tài) 判斷是否為文件夾 如果為文件夾,遞歸
        deleteDist(curPath);
      } else {
        fs.unlinkSync(curPath); // 刪除文件
      }
    });
    fs.rmdirSync(path);
  }
}
try {
  const startTime = Date.now();
  process.env.NODE_ENV = 'production';  // 切換環(huán)境為生產(chǎn)
  // 執(zhí)行打包前刪除dist目錄
  deleteDist('./dist');
  for (const page of buildEntries) {
    // 可以執(zhí)行我們的命令,第一個(gè)參數(shù)是命令,第二個(gè)參數(shù)的意思是輸出子進(jìn)程中的日志
    execSync(`vue-cli-service build ${page} --no-clean`, { stdio: 'inherit' });
  }
  // 重置
  process.env.NODE_ENV = undefined;
  const time = Date.now() - startTime;
  console.log('\033[42;30m ALL DONE \033[0m Build Compiled successfully in ' + `${time / 1000}s`);
} catch (e) {
  console.log('\033[41;30m FAILED \033[0m ' + e);
} 

思想就是循環(huán)執(zhí)行打包命令 關(guān)鍵在于execSync方法來(lái)替我們執(zhí)行打包命令,現(xiàn)在我們執(zhí)行,npm run _build

image.png

至此我們的多頁(yè)面打包基本完成,后續(xù)也可以做一些cdn的處理,或者chunks的拆包等優(yōu)化。小伙伴們自行研究

到此這篇關(guān)于vue單頁(yè)面改造多頁(yè)面應(yīng)用詳解的文章就介紹到這了,更多相關(guān)vue單頁(yè)面改造多頁(yè)面 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3中的Teleport與Portal的區(qū)別分析

    Vue3中的Teleport與Portal的區(qū)別分析

    在現(xiàn)代前端開發(fā)中,特別是使用Vue.js進(jìn)行構(gòu)建時(shí),開發(fā)者常常面臨著如何更有效地管理DOM結(jié)構(gòu)與組件之間的關(guān)系的問(wèn)題,Vue 3引入了兩個(gè)頗具魅力的概念——Teleport和Portal,本文將深入探討這兩者的不同之處,需要的朋友可以參考下
    2025-01-01
  • vue實(shí)現(xiàn)瀏覽器全屏展示功能

    vue實(shí)現(xiàn)瀏覽器全屏展示功能

    這篇文章主要介紹了vue實(shí)現(xiàn)瀏覽器全屏展示功能,項(xiàng)目中使用的是sreenfull插件,執(zhí)行命令安裝,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧
    2019-11-11
  • vue+canvas實(shí)現(xiàn)拼圖小游戲

    vue+canvas實(shí)現(xiàn)拼圖小游戲

    這篇文章主要為大家詳細(xì)介紹了vue+canvas實(shí)現(xiàn)拼圖小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Vue實(shí)現(xiàn)學(xué)生管理功能

    Vue實(shí)現(xiàn)學(xué)生管理功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)學(xué)生管理功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Vue2?this直接獲取data和methods原理解析

    Vue2?this直接獲取data和methods原理解析

    這篇文章主要為大家介紹了Vue2?this直接獲取data和methods原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • vue踩坑之在input中使用filters局部過(guò)濾器問(wèn)題

    vue踩坑之在input中使用filters局部過(guò)濾器問(wèn)題

    這篇文章主要介紹了vue踩坑之在input中使用filters局部過(guò)濾器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue.js element-ui tree樹形控件改iview的方法

    vue.js element-ui tree樹形控件改iview的方法

    這篇文章主要介紹了vue.js element-ui tree樹形控件改iview的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Element Carousel 走馬燈的具體實(shí)現(xiàn)

    Element Carousel 走馬燈的具體實(shí)現(xiàn)

    這篇文章主要介紹了Element Carousel 走馬燈的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • vue使用docxtemplater導(dǎo)出word

    vue使用docxtemplater導(dǎo)出word

    docxtemplater?是一種郵件合并工具,以編程方式使用并處理?xiàng)l件、循環(huán),并且可以擴(kuò)展以插入任何內(nèi)容,下面我們來(lái)看看如何使用docxtemplater導(dǎo)出word吧
    2025-04-04
  • vue之prop與$emit的用法說(shuō)明

    vue之prop與$emit的用法說(shuō)明

    這篇文章主要介紹了vue之prop與$emit的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評(píng)論

五峰| 台山市| 祁门县| 禹城市| 孝昌县| 定远县| 浙江省| 黑龙江省| 噶尔县| 土默特右旗| 长岭县| 遂平县| 延川县| 三江| 兰考县| 荥经县| 晋宁县| 台南市| 无为县| 怀宁县| 固镇县| 井冈山市| 栾川县| 泽州县| 福海县| 镇原县| 长宁县| 重庆市| 开平市| 霍林郭勒市| 淳安县| 民勤县| 双峰县| 福建省| 漾濞| 那曲县| 陆丰市| 通河县| 岑溪市| 浦东新区| 奎屯市|