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

前端dist包放到后端springboot項目下一起打包圖文教程

 更新時間:2025年01月10日 11:03:46   作者:夕陽的刻痕425  
這篇文章主要介紹了前端dist包放到后端springboot項目下一起打包的相關(guān)資料,具體步驟包括前端打包、將前端文件復(fù)制到后端項目的static目錄、后端打包、驗證部署成功等,需要的朋友可以參考下

最近做了一個小項目。很簡單的幾個頁面。

用的框架是若依前后端分離的,但是不想部署的時候還要前后端分開部署,要搭nginx等。

1.首先前端運行 npm run build 打成dist包(具體的打包命令,看package.json文件中定義的語句)

2.找到后端項目的resource 目錄,我整個項目的jar包是生成在admin模塊下,此處可能不存在static文件夾,直接創(chuàng)建以一個,然后將dist里面的文件復(fù)制到static下(是里面,不包括dist)

3.直接點擊右側(cè)的package 打包后端項目,我的項目在pom文件中配置的是打成jar包

4.打包完成后,就會多出來一個target目錄,這里面就是打包完成的后端項目。

5.打開jar包看看文件是否打包進去,可以看到之前的前端文件已經(jīng)加進去了,

目錄在BOOT-INF\classes\static下

6.這時候,不需要再部署前端項目,運行啟動后端的jar包,就可以訪問整個項目了。

(使用:nohup java -jar jar包名 >>test.log&

就能讓jar包在服務(wù)器上不掛斷后臺運行,輸出的日志到test.log里)

我本地的后端項目使用的是8088端口,我的前端訪問路徑就是:后端路徑+index.html

如:http://localhost:8088/index.html

訪問成功了?。ǖ刂凡皇莍ndex.html是因為前端重定向到了登錄頁)

可以登錄進系統(tǒng)了。

這種方式部署,還有不少的問題,我圖片還有部分圖標(biāo)路徑都有問題,還需要調(diào)整,總的來說前后端分離的項目,老老實實使用nginx分離部署比較好。

圖標(biāo),圖片的問題,如果后端做了攔截,需要配置放行,例如element-ui 的圖標(biāo),系統(tǒng)的圖標(biāo),首頁的圖片等。如圖,兩個后綴為.woff 和.ttf的文件就是打包生成的el圖標(biāo)文件,需要配置放行。

在WebSecurityConfigurerAdapter的子類實現(xiàn)中,將這些文件放行。

代碼如下,根據(jù)自己需求配置:

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        // 注解標(biāo)記允許匿名訪問的url
        ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry = httpSecurity.authorizeRequests();
        permitAllUrl.getUrls().forEach(url -> registry.antMatchers(url).permitAll());

        httpSecurity
                // CSRF禁用,因為不使用session
                .csrf().disable()
                // 認證失敗處理類
                .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
                // 基于token,所以不需要session
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
                // 過濾請求
                .authorizeRequests()
                // 對于登錄login 注冊register 驗證碼captchaImage 允許匿名訪問
                .antMatchers("/login", "/register", "/captchaImage").anonymous()
                // 靜態(tài)資源,可匿名訪問
                .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js","/**/*.png","/**/*.jpg","/**/*.ttf","/**/*.woff").permitAll()
                .antMatchers(sysConfig.getUrls()).permitAll()
                .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                .antMatchers("/websocket/**").permitAll()
                // 除上面外的所有請求全部需要鑒權(quán)認證
                .anyRequest().authenticated()
                .and()
                .headers().frameOptions().disable();
        // 添加Logout filter
        httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler);
        // 添加JWT filter
        httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
        // 添加CORS filter
        httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class);
        httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class);
    }

這樣的話前端的圖標(biāo)以及圖片就可以正常訪問了。

前端的靜態(tài)文件放置位置,public下不會參與壓縮,assets下會被壓縮。如圖bgimg.png打包后名稱會變。但是引用的路徑打包后也會跟著變化,所以放在兩個文件夾下都可以。

前端的路由還要配置為hash模式,否則的話刷新會報錯。

如果放在其他路徑,打包后很容易產(chǎn)生錯誤,文件名稱被壓縮后訪問不到,路徑不對等問題,還是建議統(tǒng)一放在靜態(tài)資源文件夾下。

總結(jié)

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

您可能感興趣的文章:

相關(guān)文章

  • 使用springboot打包后的文件讀取方式

    使用springboot打包后的文件讀取方式

    這篇文章主要介紹了使用springboot打包后的文件讀取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringCloud微服務(wù)基礎(chǔ)簡介

    SpringCloud微服務(wù)基礎(chǔ)簡介

    今天帶大家學(xué)習(xí)一下SpringCloud微服務(wù)的相關(guān)知識,文中有非常詳細的圖文示例及介紹,對正在學(xué)習(xí)SpringCloud微服務(wù)的小伙伴們很有幫助哦,需要的朋友可以參考下
    2021-05-05
  • Java反射的定義和用法詳解

    Java反射的定義和用法詳解

    Java中的反射是指在程序運行時動態(tài)地獲取和操作類、方法、屬性等元素的能力。它使得我們可以在程序運行時獲取一個類的信息,并對其進行操作,需要的朋友可以參考下
    2023-05-05
  • java對象list使用stream根據(jù)某一個屬性轉(zhuǎn)換成map的3種方式舉例

    java對象list使用stream根據(jù)某一個屬性轉(zhuǎn)換成map的3種方式舉例

    開發(fā)小伙伴們通常會需要使用到對象和Map互相轉(zhuǎn)換的開發(fā)場景,下面這篇文章主要給大家介紹了關(guān)于java對象list使用stream根據(jù)某一個屬性轉(zhuǎn)換成map的3種方式,需要的朋友可以參考下
    2024-01-01
  • Java中求最大值的4種方法實例代碼

    Java中求最大值的4種方法實例代碼

    這篇文章主要給大家介紹了關(guān)于Java中求最大值的4種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • springboot使用單元測試實戰(zhàn)

    springboot使用單元測試實戰(zhàn)

    這篇文章主要介紹了springboot使用單元測試實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Java實現(xiàn)復(fù)原IP地址的方法

    Java實現(xiàn)復(fù)原IP地址的方法

    這篇文章主要介紹了Java實現(xiàn)復(fù)原IP地址的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 全解史上最快的JOSN解析庫alibaba Fastjson

    全解史上最快的JOSN解析庫alibaba Fastjson

    這篇文章主要介紹了史上最快的JOSN解析庫alibaba Fastjson,對FastJson感興趣的同學(xué),一定要看一下
    2021-04-04
  • 一文帶你徹底明白什么是Java注解

    一文帶你徹底明白什么是Java注解

    Java注解可以說是我們編碼過程中最常用的,本文將給大家介紹Java注解的概念、作用以及如何使用注解來提升代碼的可讀性和靈活性,需要的可以參考一下
    2023-05-05
  • 關(guān)于application.yml數(shù)據(jù)庫配置方式

    關(guān)于application.yml數(shù)據(jù)庫配置方式

    這篇文章主要介紹了關(guān)于application.yml數(shù)據(jù)庫配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論

临武县| 千阳县| 当雄县| 永城市| 阿鲁科尔沁旗| 洪湖市| 抚松县| 黄山市| 巨鹿县| 淮阳县| 卢湾区| 顺义区| 马鞍山市| 内黄县| 瓮安县| 嘉义市| 建平县| 浦北县| 称多县| 清水河县| 安国市| 桐梓县| 金昌市| 罗城| 新巴尔虎左旗| 淮北市| 永丰县| 安阳市| 额敏县| 库车县| 麻阳| 英吉沙县| 十堰市| 新安县| 栖霞市| 阿拉善右旗| 大安市| 中牟县| 全南县| 周至县| 邵武市|