国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

這篇具有很好參考價值的文章主要介紹了Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、環(huán)境?????????

這里因為我們有的小伙伴可能不太需要服務(wù)器,單純學(xué)習(xí)的話也沒有必要去買一個服務(wù)器。如果需要把自己的東西部署到公網(wǎng)上,有很多方式,自行百度。你也可以購買阿里云或者騰訊云。邏輯都是一樣的,我這里使用的虛擬機+centos系統(tǒng),我已經(jīng)提前在自己的機器安裝好了。感興趣的小伙伴可以看我Node.js專欄。里面有從虛擬機、centos到一些開發(fā)工具的詳細(xì)安裝步驟。特別是我們這篇文章中要用到的nginx服務(wù)器。

二、nginx?????????

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù)。? 是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好。

三、為什么使用nginx代理?????????

我們在開發(fā)環(huán)境通常經(jīng)過配置以后就能正常與后端進(jìn)行交互,那是因為我們使用的工具提供了proxy做代理從而解決了開發(fā)環(huán)境的跨域請求問題。項目上線以后需要我們重新做處理,這時候nginx就該出場了。

1、前后端分離?? ?? ??

Vue項目一般是前端項目,需要與后端項目進(jìn)行數(shù)據(jù)交互,而后端項目一般是通過API接口提供數(shù)據(jù)服務(wù),需要通過nginx代理將API請求轉(zhuǎn)發(fā)到后端項目。

2、跨域問題?? ?? ??

由于瀏覽器的同源策略,Vue項目無法直接訪問第三方接口或其他域名下的資源,需要通過nginx代理進(jìn)行跨域訪問。

3、靜態(tài)資源緩存?? ?? ??

nginx可以對靜態(tài)資源進(jìn)行緩存,減少服務(wù)器壓力和提高網(wǎng)站性能。Vue項目中的靜態(tài)資源包括js、css、圖片等文件,通過nginx代理可以實現(xiàn)緩存功能。

4、負(fù)載均衡?? ?? ??

如果Vue項目需要部署在多臺服務(wù)器上,可以通過nginx實現(xiàn)負(fù)載均衡,將請求分發(fā)給不同的服務(wù)器,提高系統(tǒng)的可用性和穩(wěn)定性。

四、項目打包?????????

我這里的話已經(jīng)搭建好項目,并且做了動態(tài)路由、國際化等等。需要的話小伙伴可以看 ?? ?????
Vue3全家桶

1、項目配置,修改vite.config.ts??????????

自己看代碼注釋哈,配置有一項proxy,它呢只會和我們開發(fā)有關(guān)系,發(fā)到nginx以后是一點都用不到它的。

import { defineConfig, loadEnv } from 'vite'
import path from 'path'
import vue from '@vitejs/plugin-vue'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import vueJsx from '@vitejs/plugin-vue-jsx';
const pathSrc = path.resolve(__dirname, 'src')
import tsStart from './src/plugin/vitePlugin/ts-start'
import tsBuild from './src/plugin/vitePlugin/ts-build'

export default ({ mode }: ImportMetaEnv) => defineConfig({
  base: './', // 在開發(fā)或生產(chǎn)中使用的基本公共路徑。
  resolve: {
    alias: {
      '@': pathSrc, // 文件系統(tǒng)路徑別名
    }
  },
  plugins: [
    AutoImport({
      imports: ['vue'],
      resolvers: [
        ElementPlusResolver(),
        IconsResolver({
          prefix: 'Icon'
        })
      ],
      dts: path.resolve(pathSrc + '\\\autoImport', 'auto-imports.d.ts')
    }),
    Components({
      resolvers: [
        ElementPlusResolver(),
        IconsResolver({
          enabledCollections: ['ep', 'carbon', 'noto']
        })
      ],
      dts: path.resolve(pathSrc + '\\\autoImport', 'components.d.ts')
    }),
    Icons({
      autoInstall: true,
      compiler: 'vue3'
    }),
    vue(),
    vueJsx(), // 支持jsx、tsx的寫法
    tsStart(),
    tsBuild(),
  ],
  server: {
    host: '0.0.0.0', // 指定服務(wù)器應(yīng)該監(jiān)聽哪個 IP 地址
    port: 9527, // 指定開發(fā)服務(wù)器端口
    strictPort: true, // 若端口已被占用則會直接退出
    open: false, // 啟動時自動在瀏覽器中打開應(yīng)用程序
    proxy: {
      '/api': {
        target: loadEnv(mode, process.cwd()).VITE_APP_SERVER_URL, // 后端服務(wù)實際地址
        changeOrigin: true, //開啟代理
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  },
  build: {
    outDir: 'ts-super-web', // 生成輸出的根目錄。如果該目錄存在,則會在生成之前將其刪除。 默認(rèn)文件夾名稱為dist
    target: 'esnext',
    terserOptions: {
      compress: {
        drop_console: true, // 生產(chǎn)環(huán)境去掉控制臺 console
        drop_debugger: true, // 生產(chǎn)環(huán)境去掉控制臺 debugger 默認(rèn)就是true
        dead_code: true, // 刪除無法訪問的代碼 默認(rèn)就是true
      }
    },
    chunkSizeWarningLimit: 2000, // 調(diào)整區(qū)塊大小警告限制
  }
})

2、項目根木下執(zhí)行打包命令??????????

yarn build

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

這樣我們就已經(jīng)打包完成了,在項目根目錄下會產(chǎn)生一個ts-super-web的文件夾,也就是我們在vite.config.ts中配置的outDir??刂婆_輸出的菩薩圖像是我單獨做了一個插件,感興趣的小伙伴可以看我的另一篇文章。?? ???Vite4自定義插件之終端打印自定義logo(圖案)

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

五、部署項目?????????

1、傳輸打包文件到服務(wù)器??????????

這里我們可以使用Xftp或者Xshell把文件傳輸?shù)椒?wù)器上,建議使用Xftp,因為不用壓縮文件直接傳輸?shù)街付ㄎ募A。我在服務(wù)器home下建立了一個web文件夾。通過Xftp直接右鍵就可以建立。

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

?2、配置nginx??????????

直接在服務(wù)器終端或者Xshell工具執(zhí)行下面的命令編輯nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

進(jìn)入文件以后按 i?鍵,編輯完成以后按ESC鍵輸入:wq回車即可。

配置文件中項目的配置是非常簡單的,因為我們這里沒有涉及到接口。所以root只要指向我們打包文件路徑的上一級目錄即可。

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

退出以后接著執(zhí)行命令重啟nginx

/usr/local/nginx/sbin/nginx -s reload

# 查看虛擬機的ip
ifconfig

到這里配置就完成了,我們?yōu)g覽器直接輸入服務(wù)器IP:8080/ts-super-web

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

發(fā)布到線上,之前做的動態(tài)路由、狀態(tài)管理、國際化等都是沒有任何問題的。

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

六、nginx配置接口反向代理

我演示的接口使用的是http://www.7timer.info/全球天氣預(yù)測系統(tǒng)的接口,如果要用的小伙伴記得合理利用。其次這里只是一個demo,所以沒有過多的配置其他復(fù)雜項,如果有需要的話可以聯(lián)系我。

1、我二次封裝的axios插件中,代理是根據(jù)環(huán)境獲取的。所以打包應(yīng)該對應(yīng)的文件是.env.production

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

2、項目根目錄下修改.env.production

VITE_NODE_ENV=production
VITE_APP_BASE_API=/api
VITE_APP_PREVENT_DUPLICATE_SUBMISSIONS=2000

根據(jù)上面的配置,我們需要在nginx中配置的代理就是/api,然后代理到http://www.7timer.info/。根據(jù)上面我們配置nginx的方法修改nginx.conf文件。對應(yīng)的nginx如下圖

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

location /api {
    proxy_pass http://www.7timer.info/;
}

3、效果

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

我是Etc.End。如果文章對你有所幫助,能否幫我點個免費的贊和收藏??。

Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)

?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??文章來源地址http://www.zghlxwxcb.cn/news/detail-445892.html

到了這里,關(guān)于Vite4 + Vue3 項目打包并發(fā)布Nginx服務(wù)器 (前端必看)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3項目(組件、圖標(biāo)等按需引入)[保姆級]

    Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3項目(組件、圖標(biāo)等按需引入)[保姆級]

    本文為快速搭建vite4項目,一些插件的詳情就不做過多的解釋,都放有官網(wǎng)鏈接,需要深入了解的小伙伴可自行查看。至于為什么選擇使用vite,因為它具備著快速啟動、按需編譯、模塊熱更新的亮點。歸根結(jié)底最大的特點就是 快 。vue的創(chuàng)始人是尤雨溪大佬,vite也是他。所以

    2023年04月19日
    瀏覽(31)
  • 基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    最近得空學(xué)習(xí)了下uniapp結(jié)合vue3搭建跨端項目。之前也有使用uniapp開發(fā)過幾款聊天/仿抖音/后臺管理等項目,但都是基于vue2開發(fā)。隨著vite.js破局出圈,越來越多的項目偏向于vue3開發(fā),就想著uniapp搭配vite4.x構(gòu)建項目效果會如何?經(jīng)過一番嘗試果然真香~ uniapp官網(wǎng)提供了? HBuild

    2024年02月09日
    瀏覽(95)
  • rouyi-vue-pro+vue3+vite4+Element Plus項目中使用生成Vue2+Element UI標(biāo)準(zhǔn)模板

    rouyi-vue-pro+vue3+vite4+Element Plus項目中使用生成Vue2+Element UI標(biāo)準(zhǔn)模板

    運行一個pro-vue3的前端項目,以及后端服務(wù) 在基礎(chǔ)設(shè)施-代碼生成模塊中選擇某張數(shù)據(jù)庫表導(dǎo)入,并編輯生成信息,前端類型:Vue2+Element UI標(biāo)準(zhǔn)模板 在vue3項目中創(chuàng)建一個vue文件 1.4 srcapitest.js Vue2+Element UI標(biāo)準(zhǔn)模板生成的前端封裝好的request請求接口對象 1.5 報錯 問題 :在 更新

    2024年02月03日
    瀏覽(25)
  • 【Vue3實踐】(六)Vue3使用vite處理環(huán)境變量、打包部署、nginx配置

    【Vue3實踐】(六)Vue3使用vite處理環(huán)境變量、打包部署、nginx配置

    由于在日常開發(fā)中會有一部分前端的開發(fā)任務(wù),會涉及到Vue的項目的搭建、迭代、構(gòu)建發(fā)布等操作,所以想系統(tǒng)的學(xué)習(xí)一下Vue相關(guān)的知識點,本專題會依照Vue的搭建、開發(fā)基礎(chǔ)實踐、進(jìn)階用法、打包部署的順序進(jìn)行記錄。 歷史文章鏈接如下: 《Vue3搭建、路由配置與基本語法

    2023年04月08日
    瀏覽(646)
  • (小程序)基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    (小程序)基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    版本信息: 點擊編輯器的文件 新建 項目(快捷鍵Ctrl+N) 2.選擇uni-app項目,輸入項目名/路徑,選擇項目模板,勾選vue3版本,點擊創(chuàng)建,即可成功創(chuàng)建。 3.點擊編輯器的運行 運行到瀏覽器 選擇瀏覽器 當(dāng)然也可以運行到手機或模擬器、運行到小程序工具。 到這里一個簡單的

    2024年02月16日
    瀏覽(98)
  • tauri+vite+vue3開發(fā)環(huán)境下創(chuàng)建、啟動運行和打包發(fā)布

    tauri+vite+vue3開發(fā)環(huán)境下創(chuàng)建、啟動運行和打包發(fā)布

    目錄 ?1.創(chuàng)建項目 ?2.安裝依賴?? 3.啟動項目? 4.打包生成windows安裝包? ?5.安裝打包生成的安裝包 ?運行下面命令創(chuàng)建一個tauri項目 我創(chuàng)建該項目時的node版本為16.15.0? 兼容性注意 Vite 需要?Node.js?版本 14.18+,16+。然而,有些模板需要依賴更高的 Node 版本才能正常運行,當(dāng)你

    2024年01月19日
    瀏覽(327)
  • Vue3.2 + TypeScript + Pinia + Vite4 + Element-Plus + 微前端(qiankun) 后臺管理系統(tǒng)模板(已開源---顯示項目頁面截圖)

    Vue3.2 + TypeScript + Pinia + Vite4 + Element-Plus + 微前端(qiankun) 后臺管理系統(tǒng)模板(已開源---顯示項目頁面截圖)

    Wocwin-Admin,是基于 Vue3.2、TypeScript、Vite、Pinia、Element-Plus、Qiankun(微前端) 開源的一套后臺管理模板;同時集成了微前端 qiankun也可以當(dāng)做一個子應(yīng)用。項目中組件頁面使用了Element-plus 二次封裝 t-ui-plus 組件,目前已新增fastmock接口。 Link:https://wocwin.github.io/wocwin-admin/ 賬號:

    2024年02月08日
    瀏覽(40)
  • vue3 + vite 多項目多模塊打包

    vue3 + vite 多項目多模塊打包

    vue3 + vite 多項目多模塊打包 本示例基于 vite-plugin-html 插件,實現(xiàn)多個獨立項目共存,共享組件和依賴,運行、打包互不干擾。 兼容性注意 Vite 需要 Node.js 14.18+、16+版本,有些模板需要更高的版本 雖然創(chuàng)建項目用的14.17.5版本,但是后面運行項目用的18.15.0 HTML模板插件 打包一

    2024年02月10日
    瀏覽(114)
  • 【Vue3】Vite打包發(fā)布錯誤若干問題解決方案,新手遇到的問題都在這里。

    【Vue3】Vite打包發(fā)布錯誤若干問題解決方案,新手遇到的問題都在這里。

    npm run build 在vite.config.js 中加入下面的代碼 vite.config.js 完整代碼

    2024年02月11日
    瀏覽(27)
  • vite vue3項目打包,跳過ts檢查

    vite vue3項目打包,跳過ts檢查

    遇到這個問題是因為vue文件中script標(biāo)簽沒有寫lang造成的? 剩下的ts類型檢查錯誤 ?\\\"build\\\": \\\"vue-tsc --noEmit --skipLibCheck vite build\\\",是因為這個vue-tsc打包對ts進(jìn)行了類型檢查,需要全部解決了才行,可以關(guān)閉,直接改成\\\"build\\\": \\\"vite build\\\",

    2024年02月16日
    瀏覽(97)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包