摘要:隨著,的普及,前后端分離之后,多采用為靜態服務器,并用對做反向代理,以實現前端應用的部署。
隨著react,vue的普及,前后端分離之后,多采用nginx為靜態服務器,并用nginx對api做反向代理,以實現前端SPA應用的部署。nginx location 匹配規則
~ 波浪線表示執行一個正則匹配,區分大小寫
~* 表示執行一個正則匹配,不區分大小寫
^~ 表示普通字符匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
= 進行普通字符精確匹配
@ 定義一個命名的 location,使用在內部定向時,例如 error_page, try_files
browserHistory 模式的刷新問題browserHistory 路由模式下,使用history api可以在前端進行頁面跳轉,但是刷新的話,就需要對鏈接進行一個修復(重定向)
我們可以使用nginx 的 try_files 來實現:
location / { root /code/app1/build; index index.html index.htm; try_files $uri $uri/ /index.html; } location ^~ /app { alias /code/app2/build; index index.html; try_files $uri $uri/ /app/index.html; } location ^~ /api/ { proxy_pass http://api.site; }
webpackDevServer的重定向配置
const basename = "/app"; devServer: { proxy: { "/api": { target: "http://api.site", changeOrigin: true, secure: false } }, publicPath: basename, host: HOST, port: PORT, inline: true, historyApiFallback: { rewrites: [ { from: new RegExp(`^${basename}`), to: `${basename}/index.html` }, { from: /./, to: basename } ] }, disableHostCheck: true, contentBase: path.join(__dirname, "build") }多個SPA的部署與重定向
首先約定發布代碼目錄如下:
/publish_webapp/ |-- app1/ |-- index.html |-- static |-- app2/ |-- index.html |-- static
nginx 配置:
location ~* ^/(w+) { root /publish_webapp/; index index.html; try_files $uri $uri/ $uri/index.html /$1/ /$1/index.html; }開啟gzip
gzip on; gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
配合webpack在打包的時候壓縮靜態文件,使用webpack插件compression-webpack-plugin
由于在部署至nginx服務器之前使用了webpack生成了gizp壓縮之后的文件,所以就不用使用nginx來壓縮靜態js了,nginx只需要配置,直接使用gzip之后的文件即可。
配置gzip_static
gzip_static on;
The ngx_http_gzip_static_module module allows sending precompressed files with the “.gz” filename extension instead of regular files.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107334.html
摘要:隨著,的普及,前后端分離之后,多采用為靜態服務器,并用對做反向代理,以實現前端應用的部署。 隨著react,vue的普及,前后端分離之后,多采用nginx為靜態服務器,并用nginx對api做反向代理,以實現前端SPA應用的部署。 nginx location 匹配規則 ~ 波浪線表示執行一個正則匹配,區分大小寫 ~* 表示執行一個正則匹配,不區分大小寫 ^~ 表示普通字符匹配,...
摘要:所以單頁應用的部署,需要將所有的頁面請求都返回,瀏覽器下載了后會自動解析并導航到對應頁面。總結單頁應用與以前的常規多頁面應用還是有區別的,開發過程與后端解耦了,同時會出現跨域鑒權以及應用部署的問題。 本文同步發布于我的個人博客上 - 單頁應用的部署方案 本文主要簡單講一下單頁應用的開發及部署方法,默認你懂一些服務端知識及nginx知識,如果有任何可以在下方評論留言。 單頁應用 SPA(...
摘要:而從技術實現角度,微前端架構解決方案大概分為兩類場景單實例即同一時刻,只有一個子應用被展示,子應用具備一個完整的應用生命周期。為了解決產品研發之間各種耦合的問題,大部分企業也都會有自己的解決方案。 原文鏈接:https://zhuanlan.zhihu.com/p/... Techniques, strategies and recipes for building a modern ...
摘要:項目地址基于和的前端腳手架。目錄前言特性環境開始工程結構開發調試單元測試靜態部署相關文檔致謝前言如果你是一個初學者,這個項目可以是很好的教程。單元測試新增一個單元測試,你只需在中創建文件。在腳手架中用于擴展服務和代理。 項目地址: https://github.com/YutHelloWo... 基于React、Redux、React-Router@3.x、webpack和reacts...
摘要:開發到部署,親力親為當我們開發一個單頁面應用時,執行完構建后會生成一個在目錄,那怎么把這個部署到服務器上呢目錄結構前端構建完的靜態文件鏡像所需的配置文件配置挑幾點配置講講,先是壓縮資源,以節省帶寬和提高瀏覽器加載速度雖然已經支持在構建時就生 開發到部署,親力親為 當我們開發一個單頁面應用時,執行完構建后 npm run build 會生成一個 index.html 在 dist 目錄,...
閱讀 3885·2021-11-17 09:33
閱讀 1196·2021-10-09 09:44
閱讀 400·2019-08-30 13:59
閱讀 3478·2019-08-30 11:26
閱讀 2178·2019-08-29 16:56
閱讀 2849·2019-08-29 14:22
閱讀 3151·2019-08-29 12:11
閱讀 1269·2019-08-29 10:58