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

Vue前端打包的詳細(xì)流程

 更新時間:2021年11月17日 09:22:23   作者:一只燭  
這篇文章主要介紹了Vue前端打包的詳細(xì)流程,下面文章圍繞Vue前端打包的相關(guān)資料展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對大家有所幫助

1、添加打包命令

package.json中添加配置
npm run build 發(fā)布到線上的代碼 不便于調(diào)試

命令:

  • ①npm run build:dev 開發(fā)調(diào)式環(huán)境
  • ②npm run build:prod 線上調(diào)試環(huán)境

 "build:dev": "vue-cli-service build --mode dev",
    "build:prod": "vue-cli-service build --mode prod"

2、運行打包代碼

不可直接雙擊dist/index.html
需要放在http容器中運行:serve tomcat nginx iis
本次使用serve

下載serve: npm i -g serve

報錯:

Error: EPERM: operation not permitted, mkdir ‘C:\Program Files\nodejs\node global\node_modules.staging'

解決: 用戶—>個人用戶—>刪除.npmrc文件

啟動打包后的目錄 serve dist

3、打包指定不同的環(huán)境變量

添加環(huán)境變量:

  • ① 開發(fā):在根目錄下創(chuàng)建 .env.dev 文件(與package.json中mode對應(yīng))
  • ② 線上:在根目錄下創(chuàng)建 .env.prod 文件(與package.json中mode對應(yīng))

在需要動態(tài)指定變量的位置使用process.env.NODE_ENV

// .env.dev
##開發(fā)環(huán)境
NODE_ENV=development
##變量以VUE_APP_開頭
VUE_APP_URL=http://www.dev.com

// .env.prod
##生產(chǎn)環(huán)境
NODE_ENV=production
VUE_APP_URL=http://www.prod.com

4、打包自定義文件

  • vuecli是基于webpack
  • vuecli零配置
  • 不需要零配置可以指定vue.config.js

npm run build:prod 少了注釋、空行、壓縮等

4.1 移除三方包

代碼細(xì)分:

  • ①三方包:vue elementui axios
  • ②開發(fā)代碼:自己寫的

移出三方包: 使用三方提供cdn(免費、收費)
步驟:

  • ①找到三方包cdn資源,添加到public/index.html
  • ②把之前import導(dǎo)入的刪除
  • ③在vue.config.js配置排除三方包
module.exports = {
  // 打開文件訪問的相對路徑 獨立項目 通過項目根目錄訪問
  publicPath: './',
  // 開發(fā)時需要 線上不需要 map-->提供代碼映射 方便調(diào)試代碼
  productionSourceMap: process.env.NODE_ENV == 'development' ? true: false,
  // 配置webpack
  configureWebpack: config =>{
    // config---vuecli默認(rèn)配置
    Object.assign(config,  {
      // 排除依賴包
      externals: {
        vue: 'Vue'
      }
    })
  },
}

4.2 gzip壓縮

下載 npm i -D compression-webpack-plugin

5、打包發(fā)生錯誤:

ERROR TypeError: Cannot read property ‘tapPromise' of undefined
TypeError: Cannot read property ‘tapPromise' of undefined

錯誤原因: 腳手架配置gzip打包不支持這個版本
解決: 使用npm install compression-webpack-plugin@6.1.1 --save-dev
在vue.config.js配置

打包會生成gz結(jié)尾的文件:

let CompressionWebpackPlugin = require('compression-webpack-plugin')

configureWebpack: config =>{
    let plugins = [
      new CompressionWebpackPlugin({
        // 壓縮方式
        algorithm: 'gzip',
        // 匹配壓縮文件
        test: /\.js$|\.css$/,
        // 對于大于10k壓縮
        threshold: 10240 
      })
    ]
    if(process.env.NODE_ENV == 'production') {
      config.mode = "production"
      config.plugins = [...config.plugins, ...plugins]
    } else {
      config.mode = 'development'
    }
  },

瀏覽器查看:

  • 請求頭:Accept-Encoding: gzip, deflate, br
  • 響應(yīng)頭:Content-Encoding: gzip

打包部署模式:

hash: 打包后dist直接在http容器中運行 線上一致

history: 打包后腳手架刷新不會404 線上會404
解決方案:需要前端代碼與后端一起部署 由后端負(fù)責(zé)跳轉(zhuǎn)前端

到此這篇關(guān)于Vue前端打包的詳細(xì)流程的文章就介紹到這了,更多相關(guān)Vue前端打包詳細(xì)流程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue 根據(jù)選擇條件顯示指定參數(shù)的例子

    vue 根據(jù)選擇條件顯示指定參數(shù)的例子

    今天小編就為大家分享一篇vue 根據(jù)選擇條件顯示指定參數(shù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue基礎(chǔ)配置講解

    Vue基礎(chǔ)配置講解

    在本篇文章里小編給大家整理的是關(guān)于Vue基礎(chǔ)配置講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • 聊聊vue番茄鐘與electron?打包問題

    聊聊vue番茄鐘與electron?打包問題

    這篇文章主要介紹了vue番茄鐘與electron?打包問題,本文通過實例結(jié)合相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • vue計算屬性無法監(jiān)聽到數(shù)組內(nèi)部變化的解決方案

    vue計算屬性無法監(jiān)聽到數(shù)組內(nèi)部變化的解決方案

    今天小編就為大家分享一篇vue計算屬性無法監(jiān)聽到數(shù)組內(nèi)部變化的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue懸浮可拖拽懸浮按鈕的實例代碼

    vue懸浮可拖拽懸浮按鈕的實例代碼

    這篇文章主要介紹了vue懸浮可拖拽懸浮按鈕的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • vue3+ts+MicroApp實戰(zhàn)教程

    vue3+ts+MicroApp實戰(zhàn)教程

    這篇文章主要介紹了vue3+ts+MicroApp實戰(zhàn)教程,分別在主應(yīng)用項目(main)和子應(yīng)用(childrenOne,childrenTwo)項目中安裝microApp,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • vue下canvas裁剪圖片實例講解

    vue下canvas裁剪圖片實例講解

    在本篇文章里小編給大家整理了關(guān)于vue下canvas裁剪圖片實例講解內(nèi)容,需要的朋友們可以參考下。
    2020-04-04
  • 在Vue3中實現(xiàn)懶加載功能的代碼示例

    在Vue3中實現(xiàn)懶加載功能的代碼示例

    在現(xiàn)代前端開發(fā)中,懶加載是一種提高應(yīng)用性能和用戶體驗的重要技術(shù),尤其是在處理較大圖片或長列表數(shù)據(jù)時,本文將使用 Vue 3 和其新推出的 setup 語法糖來實現(xiàn)懶加載功能,并提供具體的示例代碼,需要的朋友可以參考下
    2024-09-09
  • vue腳手架中配置Sass的方法

    vue腳手架中配置Sass的方法

    本篇文章主要介紹了vue腳手架中配置Sass的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected token < 報錯

    解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected&n

    這篇文章介紹了解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected token < 報錯的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

青龙| 荥经县| 那曲县| 孙吴县| 赣榆县| 青州市| 闽侯县| 津市市| 五原县| 泸水县| 阳山县| 柏乡县| 五家渠市| 晋宁县| 自治县| 辽源市| 开远市| 谷城县| 临潭县| 新昌县| 洞口县| 融水| 潜江市| 沾益县| 瓮安县| 台北市| 延寿县| 巢湖市| 怀化市| 大同县| 通辽市| 兰考县| 肥城市| 连云港市| 许昌县| 墨玉县| 拉孜县| 拜泉县| 宜宾县| 永城市| 绥阳县|