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

vite+vue3+ts項(xiàng)目上線docker 配置反向代理API

這篇具有很好參考價(jià)值的文章主要介紹了vite+vue3+ts項(xiàng)目上線docker 配置反向代理API。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

這次重點(diǎn)的坑是反向代理。

1。項(xiàng)目中配置代理,為了跨域請(qǐng)求數(shù)據(jù)

項(xiàng)目根目錄中新建vite.config.ts文件

vue3部署到docker,docker,容器,運(yùn)維

在文件中添加配置代理

vue3部署到docker,docker,容器,運(yùn)維

注意:其中 '/api' 和target 的地址后面沒(méi)有 '/'

2。在項(xiàng)目根目錄中新建Httprequest.ts文件,引入axios,并封裝請(qǐng)求 引入axios就不多說(shuō)了,npm自行安裝就好

import axios from 'axios';
import {
  LicId,
  FrontCode,  
  getTime,
  WxAppId
} from './utils/index';
import {
  getToken
} from './utils/token';


// 創(chuàng)建一個(gè)axios實(shí)例
const instance = axios.create({
  baseURL: '/api', // 設(shè)置請(qǐng)求的基礎(chǔ)URL
  timeout: 5000, // 設(shè)置請(qǐng)求超時(shí)時(shí)間
});


// 請(qǐng)求攔截器
instance.interceptors.request.use(
  async (config) => {
   
  // 發(fā)送token請(qǐng)求
    let token = localStorage.getItem('token')?localStorage.getItem('token'):'';
    if(!token){
      token = await getToken();
    }
      
    // 在發(fā)送請(qǐng)求之前添加自定義header信息
    config.headers['Authorization'] ='Bearer ' + token;
    config.headers['TimeStamp'] = getTime();
    config.headers['LicId'] = LicId;
    config.headers['FrontCode'] = FrontCode;
    config.headers['WxAppId'] = WxAppId;   

    
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 響應(yīng)攔截器
instance.interceptors.response.use(
  (response) => {
    // 對(duì)響應(yīng)數(shù)據(jù)進(jìn)行處理
    return response.data;
  },
  (error) => {
    return Promise.reject(error);
  }
);


  

// 封裝GET請(qǐng)求
export function get(url:string, params:any) {
  return instance.get(url, { params });
}

// 封裝POST請(qǐng)求
export function post(url:string, data:any) {
  return instance.post(url, data);
}

注意這里,baseURL要和代理中設(shè)置的一致

vue3部署到docker,docker,容器,運(yùn)維

項(xiàng)目正常編寫(xiě),本地運(yùn)行,測(cè)試正常后,準(zhǔn)備上線docker

3。vite打包。注意調(diào)整靜態(tài)資源路徑,注意配置package.json,除此以外也沒(méi)什么

vue3部署到docker,docker,容器,運(yùn)維

正常按配置執(zhí)行打包 npm run build:prod —— 這里和package.json里一樣就可以了

執(zhí)行完成后,得到dist文件夾。上線文件就是它了

vue3部署到docker,docker,容器,運(yùn)維

現(xiàn)在轉(zhuǎn)到服務(wù)器上操作

1。將dist上傳到服務(wù)器的文件夾里,一般是在/www/wwwroot 文件夾下面建立一個(gè)新的文件夾,比如叫做 newpro

將dist上傳到newpro,注意是整個(gè)文件夾上傳,不是dist里面的內(nèi)容上傳

2。在newpro文件夾里,建立Dockerfile文件,可以在本地寫(xiě)好,傳上去。注意:這個(gè)文件沒(méi)有擴(kuò)展名

vue3部署到docker,docker,容器,運(yùn)維

文件內(nèi)容如下:

# 使用官方的 Nginx 鏡像作為基礎(chǔ)鏡像
FROM nginx:latest

# 將本地dist文件夾內(nèi)的內(nèi)容復(fù)制到容器中的nginx默認(rèn)工作目錄
COPY dist /usr/share/nginx/html

# 替換nginx配置文件(如果需要自定義)
#COPY nginx.conf /etc/nginx/conf.d/default.conf

# 暴露Nginx的默認(rèn)端口
EXPOSE 80

# 啟動(dòng)Nginx服務(wù)
CMD ["nginx", "-g", "daemon off;"]

上傳到服務(wù)器后:

vue3部署到docker,docker,容器,運(yùn)維

現(xiàn)在在newpro文件夾里進(jìn)入終端,執(zhí)行docker命令,生成鏡像。如果你用的是寶塔面板,那么就是下面這樣的

vue3部署到docker,docker,容器,運(yùn)維在終端中執(zhí)行以下命令,注意最后有個(gè) 點(diǎn)

docker build -t xxx(英文鏡像名稱) . 

執(zhí)行成功后,再執(zhí)行

docker run -d --name 英文的容器名稱(自己起) -p 10726:80 鏡像名稱(剛剛生成的)

注意: 10726:80 分別代表服務(wù)器的端口和docker里的端口。這個(gè)操作表示把服務(wù)器的10726端口映射到docker的80端口上 這個(gè)10726自己寫(xiě)就可以,只要不和其它端口沖突就行

到此,docker上線完畢

然后要在服務(wù)器的nginx中,發(fā)布網(wǎng)站,將域名綁定到網(wǎng)站上

網(wǎng)站的配置文件如下:

server
{
    listen 80;
    server_name xxx.net(綁定的域名);
    index index.html index.htm;
    #root /www/wwwroot/hua.crabstech.com;
    location /api/ {
        proxy_pass https://api.net:9006/; #API地址:端口
    }
     location / {

                proxy_pass http://localhost:10726;
        }
    
}

重要坑點(diǎn)來(lái)了

vue3部署到docker,docker,容器,運(yùn)維

vite配置的代理,當(dāng)dist離開(kāi)本地電腦時(shí),vite就已經(jīng)不再負(fù)責(zé)了,服務(wù)器上的代理,由nginx代理來(lái)完成

重點(diǎn):

這個(gè)代理,要在服務(wù)器nginx,不要在docker里做!

這個(gè)代理,要在服務(wù)器nginx,不要在docker里做!

這個(gè)代理,要在服務(wù)器nginx,不要在docker里做!

重要的事情說(shuō)三遍

更重要的是,和vite.config.ts中不同的是,要加上末位的兩個(gè) '/'

一定要加

api后面的 '/'不加,nginx配置文件會(huì)報(bào)錯(cuò)

地址后面的'/'不加,反向代理配置不生效

一定要加!一定要加!一定要加!

vue3部署到docker,docker,容器,運(yùn)維

如果做完以上這些,反向仍然不生效,可以參考下面的博文試試

Nginx問(wèn)題之反向代理無(wú)法成功_nginx x-forwarded-for不生效-CSDN博客

省流解釋?zhuān)阂诒辉L問(wèn)的API服務(wù)器的nginx配置中,添加當(dāng)前網(wǎng)站域名。

vue3部署到docker,docker,容器,運(yùn)維文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-830271.html

到了這里,關(guān)于vite+vue3+ts項(xiàng)目上線docker 配置反向代理API的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 配置Vite獲取內(nèi)網(wǎng)IP(Vue3項(xiàng)目?ts版本獲取本機(jī)局域網(wǎng)IP地址)

    參考文章:vue項(xiàng)目獲取本機(jī)局域網(wǎng)IP地址(vue.config.js版本) 在Vite中,沒(méi)有vue.config.js文件,而是使用vite.config.js(或vite.config.ts,如果項(xiàng)目使用TypeScript)來(lái)配置項(xiàng)目; 1.獲取 IP 需要借助? os ?模塊,需要先安裝依賴: 2.其次在vite.config.ts中引用模塊 ?3.接著,添加一個(gè)獲取本機(jī)內(nèi)

    2024年02月05日
    瀏覽(19)
  • 前端新手Vue3+Vite+Ts+Pinia+Sass項(xiàng)目指北系列文章 —— 第十二章 常用工具函數(shù) (Utils配置)

    前端新手Vue3+Vite+Ts+Pinia+Sass項(xiàng)目指北系列文章 —— 第十二章 常用工具函數(shù) (Utils配置)

    在項(xiàng)目開(kāi)發(fā)中,我們經(jīng)常會(huì)使用一些工具函數(shù),也經(jīng)常會(huì)用到例如 loadsh 等工具庫(kù),但是這些工具庫(kù)的體積往往比較大,如果項(xiàng)目本身已經(jīng)引入了這些工具庫(kù),那么我們就沒(méi)有必要再引入一次,所以我們需要自己封裝一些工具函數(shù),來(lái)簡(jiǎn)化我們的開(kāi)發(fā)。 在 src/utils 目錄下創(chuàng)建

    2024年02月20日
    瀏覽(28)
  • vite vue3項(xiàng)目打包,跳過(guò)ts檢查

    vite vue3項(xiàng)目打包,跳過(guò)ts檢查

    遇到這個(gè)問(wèn)題是因?yàn)関ue文件中script標(biāo)簽沒(méi)有寫(xiě)lang造成的? 剩下的ts類(lèi)型檢查錯(cuò)誤 ?\\\"build\\\": \\\"vue-tsc --noEmit --skipLibCheck vite build\\\",是因?yàn)檫@個(gè)vue-tsc打包對(duì)ts進(jìn)行了類(lèi)型檢查,需要全部解決了才行,可以關(guān)閉,直接改成\\\"build\\\": \\\"vite build\\\",

    2024年02月16日
    瀏覽(96)
  • vue3+vite+ts+elementplus創(chuàng)建項(xiàng)目

    # vue3+vite+ts+pinia 學(xué)習(xí)筆記 ## 1、創(chuàng)建項(xiàng)目: npm init vite@latest ? ? 選擇: vue、ts ## 2、進(jìn)入項(xiàng)目目錄后:npm install 安裝 ## 3、運(yùn)行項(xiàng)目: npm run dev ## 4、安裝常用插件: ? ? 1、安裝 npm install vue-router@latest 配置:在src目錄下新建router目錄,創(chuàng)建index.ts文件代碼如下: ? ? ? ```javascript 創(chuàng)建

    2024年02月09日
    瀏覽(19)
  • vue3+ts+vite項(xiàng)目引入echarts,vue3項(xiàng)目echarts組件封裝

    vue3+ts+vite項(xiàng)目引入echarts,vue3項(xiàng)目echarts組件封裝

    技術(shù)棧 :Vue3 + Ts + Vite + Echarts 簡(jiǎn)介 : 圖文詳解,教你如何在 Vue3 項(xiàng)目中 引入Echarts , 封裝Echarts組件 ,并實(shí)現(xiàn)常用Echarts圖例 1.1 靜態(tài)效果 1.2 動(dòng)態(tài)效果 2.1 安裝 Echarts npm: pnpm: 2.2 main.ts 中引入 2.3 Echarts 組件封裝 /src/components/ReEcharts/index.vue 文件中寫(xiě)入如下代碼 3.1 柱狀圖 實(shí)現(xiàn)

    2024年02月09日
    瀏覽(33)
  • 基于Vue3+TS+Vite+Cesium創(chuàng)建項(xiàng)目

    基于Vue3+TS+Vite+Cesium創(chuàng)建項(xiàng)目

    隨著近幾年社會(huì)的發(fā)展,人們對(duì)三維可視化的需求也是越來(lái)越多,三維GIS如今真的越來(lái)越火了,對(duì)于做GIS前端開(kāi)發(fā)的人員來(lái)說(shuō),Cesium開(kāi)發(fā)是絕對(duì)繞不開(kāi)的一門(mén)技術(shù),所以今天來(lái)說(shuō)說(shuō)如何利用當(dāng)下最火的 Vue3+TS+Vite 來(lái)搭建一個(gè)基于Cesium的項(xiàng)目開(kāi)發(fā)環(huán)境。 1.使用 yarn create vite 創(chuàng)建

    2024年02月05日
    瀏覽(22)
  • 【Vue3+Ts+Vite】配置滾動(dòng)條樣式
  • Vue3通透教程【十七】Vite構(gòu)建TS版本Vue項(xiàng)目

    專(zhuān)欄介紹: 涼哥作為 Vue 的忠實(shí) 粉絲輸出過(guò)大量的 Vue 文章,應(yīng)粉絲要求開(kāi)始更新 Vue3 的相關(guān)技術(shù)文章,Vue 框架目前的地位大家應(yīng)該都曉得,所謂三大框架使用人數(shù)最多,公司選型最多的框架,涼哥之前在文章中也提到過(guò)就是 Vue 框架之所以火起來(lái)的原因,和 Vue 框架相比其

    2024年02月13日
    瀏覽(88)
  • 現(xiàn)有的vue3+ts+vite項(xiàng)目集成electron

    現(xiàn)有的vue3+ts+vite項(xiàng)目集成electron

    Electron是使用JavaScript,HTML和CSS構(gòu)建跨平臺(tái)的桌面應(yīng)用程序框架。 Electron兼容Mac、Windows和Linux,可以構(gòu)建出三個(gè)平臺(tái)的應(yīng)用程序。 安裝依賴 原來(lái)有一個(gè)vue3+ts+vite+pnpm的項(xiàng)目,其中sub-modules是子項(xiàng)目,web是主入口項(xiàng)目,項(xiàng)目結(jié)構(gòu)如下: 需要將其轉(zhuǎn)換成Electron項(xiàng)目,只需要在原來(lái)

    2024年02月12日
    瀏覽(99)
  • vite+vue3+ts項(xiàng)目中提示無(wú)法找到模塊

    今天在開(kāi)發(fā)過(guò)程中碰到了導(dǎo)入模塊時(shí)提示無(wú)法找到模塊這個(gè)問(wèn)題,分享一下我的解決思路 首先產(chǎn)生這個(gè)錯(cuò)誤是: 無(wú)法找到模塊XXX,并且提示\\\'XXX\\\' is declared but its value is never read 產(chǎn)生這個(gè)問(wèn)題的原因是我們使用了ts語(yǔ)法,他只能識(shí)別.ts文件,并不能識(shí)別.vue文件,所以在引入組件

    2024年02月11日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包