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

Vue3打包部署到SpringBoot3的詳細(xì)步驟

 更新時(shí)間:2025年10月31日 09:02:46   作者:2403_89965163  
在Vue3項(xiàng)目中,打包指令主要用于將項(xiàng)目編譯成可以在生產(chǎn)環(huán)境中部署的靜態(tài)文件,這篇文章主要介紹了Vue3打包部署到SpringBoot3的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

Vue3項(xiàng)目

1.先在vite.config.js中添加 base: './'

export default defineConfig({
  base: './',
  plugins: [
    vue(),
    vueDevTools(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

在vite官網(wǎng)中是這樣說的:

簡(jiǎn)單來說就是:使用相對(duì)路徑,可以讓項(xiàng)目能在任意路徑下部署,無需提前固定公共基礎(chǔ)路徑,解決了部署環(huán)境不確定的問題。

具體可以通過Vite官網(wǎng)來查看:構(gòu)建生產(chǎn)版本 | Vite 官方中文文檔

2.如果設(shè)置了用同一接口前綴用來修改請(qǐng)求路徑的端口號(hào)的話,要進(jìn)行刪除或注釋

const baseUrl='/api';
const instance = axios.create({baseURL:baseUrl});
//這里我設(shè)置了統(tǒng)一接口前綴/api,可以直接注釋了
server: {
    proxy: {
      '/api': {//處理以api為前綴的請(qǐng)求    
        target: 'http://localhost:8081',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  }

這是因?yàn)樵赩ite的官網(wǎng)上說了,這么一句話,Configure custom proxy rules for the dev server,他翻譯過來就是:為開發(fā)服務(wù)器配置自定義代理規(guī)則。

server.proxy 屬于 開發(fā)服務(wù)器(dev server) 的配置項(xiàng),用于 “在開發(fā)環(huán)境下配置代理規(guī)則,以解決跨域請(qǐng)求問題”。所以當(dāng)不刪除的話,修改端口不起作用,但是api卻加再了請(qǐng)求路徑上,導(dǎo)致,訪問不到,而報(bào)404.

具體可看Vite官網(wǎng)的這個(gè)位置:https://vite.dev/config/server-options.html#server-proxy

3.配置路由模式

import { createRouter, createWebHashHistory } from 'vue-router'

建議使用Hash模式,因?yàn)椋核恍枰俜?wù)器層面上進(jìn)行任何特殊處理。

雖然hash模式訪問請(qǐng)求,輸入U(xiǎn)RL會(huì)在URL中加入#,但是

  • 訪問 /sign 時(shí),實(shí)際 URL 是 http://xxx.com/#/sign
  • 訪問 /addUser 時(shí),實(shí)際 URL 是 http://xxx.com/#/addUser

這里的關(guān)鍵是:# 及其后面的內(nèi)容(如 #/sign)不會(huì)被發(fā)送到服務(wù)器。服務(wù)器收到的請(qǐng)求始終是根路徑 /,因此就能返回 index.html,使用了history模式的路由需要再SpringBoot上對(duì)每個(gè)頁面的路徑進(jìn)行對(duì)應(yīng)的配置,但是使用hash模式,在SpringBoot中只用配置/根路徑

hash模式官網(wǎng):https://router.vuejs.org/zh/guide/essentials/history-mode.html#Hash-%E6%A8%A1%E5%BC%8F

HTML5模式官網(wǎng):

https://router.vuejs.org/zh/guide/essentials/history-mode.html#HTML5-%E6%A8%A1%E5%BC%8F

4.將vue打包

npm run build

打包完成后會(huì)生成dist文件夾

SpringBoot3項(xiàng)目

1.在pom.xml文件中添加依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2.將vue打包的vite文件里面的文件整合到SpringBoot中

將ideax.html放到resources的templates下

其他的文件都放到static下

3.檢查index.html

index.html的作用:index.html 是前端應(yīng)用的唯一入口文件,所有頁面的渲染、資源加載和路由跳轉(zhuǎn)都依賴它來啟動(dòng),是連接靜態(tài)資源與瀏覽器運(yùn)行環(huán)境的核心橋梁。

<script type="module" crossorigin src="./assets/index-6G-g-WH_.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-BgquJFG5.css" rel="external nofollow" >

在index.html中檢查,訪問js和css的文件路徑是否正確,如果不正確,訪問不到css或js,就會(huì)報(bào)出404錯(cuò)誤

4.編寫跳轉(zhuǎn)控制器

作用:接受/根路徑并跳轉(zhuǎn)到index.html

@Controller
public class BasicController {
    @GetMapping("/")
    public String Index() {
        return "index";
    }
}

結(jié)合上述路由中hash模式的特點(diǎn),# 及其后面的內(nèi)容(如 #/sign)不會(huì)被發(fā)送到服務(wù)器,讓前端的請(qǐng)求路徑全都可以到index.html

5.401報(bào)錯(cuò)

如果出現(xiàn)401報(bào)錯(cuò),就請(qǐng)仔細(xì)查看是否是自己的攔截器是否攔截了

"static/**",        //靜態(tài)資源的路徑
"/",        //訪問index.html的根路徑

"/index.html",     

或則也有可能是其他的路徑被攔截,導(dǎo)致無法正常訪問,而報(bào)出401

訪問

因?yàn)槲疫@里用的是hash模式的路由,所以訪問時(shí)要在端口或域名后面加/#

http:localhost:端口號(hào)/#/path

我的這篇文章只能用作參考,具體問題,還要看具體情況

總結(jié)

到此這篇關(guān)于Vue3打包部署到SpringBoot3的文章就介紹到這了,更多相關(guān)Vue3打包部署SpringBoot3內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis注解開發(fā) 一對(duì)多嵌套查詢方式

    mybatis注解開發(fā) 一對(duì)多嵌套查詢方式

    這篇文章主要介紹了mybatis注解開發(fā) 一對(duì)多嵌套查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-03-03
  • java實(shí)現(xiàn)表格數(shù)據(jù)的存儲(chǔ)

    java實(shí)現(xiàn)表格數(shù)據(jù)的存儲(chǔ)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)表格數(shù)據(jù)的存儲(chǔ),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • java使用apache.poi導(dǎo)出word文件的示例代碼

    java使用apache.poi導(dǎo)出word文件的示例代碼

    這篇文章主要介紹了java使用apache.poi導(dǎo)出word文件,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 使用IDEA插件從數(shù)據(jù)庫(kù)表生成實(shí)體類方式

    使用IDEA插件從數(shù)據(jù)庫(kù)表生成實(shí)體類方式

    EasyCode是IntelliJ IDEA Ultimate版的代碼生成插件,基于velocity模板,可以生成各種與數(shù)據(jù)有關(guān)的代碼,如Entity、Dao、Service、Controller等,添加插件后,創(chuàng)建數(shù)據(jù)庫(kù)連接,配置好信息并測(cè)試連接無誤,即可通過表生成實(shí)體類
    2025-12-12
  • 解讀classpath讀取resources目錄下的文件

    解讀classpath讀取resources目錄下的文件

    這篇文章主要介紹了解讀classpath讀取resources目錄下的文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • SpringBoot項(xiàng)目集成日志的實(shí)現(xiàn)方法

    SpringBoot項(xiàng)目集成日志的實(shí)現(xiàn)方法

    這篇文章主要介紹了SpringBoot項(xiàng)目集成日志的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Java中LinkedList原理代碼解析

    Java中LinkedList原理代碼解析

    這篇文章主要介紹了Java中LinkedList原理代碼解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java讀取.properties配置文件的幾種方式

    Java讀取.properties配置文件的幾種方式

    這篇文章主要介紹了Java讀取.properties配置文件的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java 中的自引用詳解

    Java 中的自引用詳解

    本文介紹了Java中“自引用”概念,即類中包含指向自身類型的成員變量,常用于鏈表、樹等遞歸結(jié)構(gòu),自引用依賴于引用類型和JVM內(nèi)存模型,避免無限遞歸,支持靈活安全的數(shù)據(jù)結(jié)構(gòu)構(gòu)建,并由GC自動(dòng)管理內(nèi)存,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • Java日志相關(guān)技術(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java日志相關(guān)技術(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java日志相關(guān)技術(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下
    2017-07-07

最新評(píng)論

特克斯县| 亳州市| 宽城| 临夏县| 鸡泽县| 凌云县| 清水河县| 屏东县| 政和县| 龙里县| 阿瓦提县| 宜城市| 化州市| 吴旗县| 同心县| 玛沁县| 安乡县| 濮阳市| 宿松县| 潮安县| 余江县| 绥芬河市| 呼和浩特市| 资中县| 屏南县| 五大连池市| 通化市| 青河县| 健康| 福泉市| 遂昌县| 黄龙县| 布拖县| 乌兰察布市| 涡阳县| 尖扎县| 孙吴县| 大足县| 屏边| 汝南县| 湟源县|