欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue打包后的線上部署Apache、nginx全過程

 更新時(shí)間:2023年02月18日 16:25:41   作者:帆醬  
這篇文章主要介紹了vue打包后的線上部署Apache、nginx全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

我們一般情況下將vue項(xiàng)目開發(fā)完成后會(huì)進(jìn)行打包上線,本文介紹多種部署情況。

一、Apache服務(wù)器

1、vue路由mode:'hash'模式(帶#號(hào)模式)

hash模式打包后可以直接丟到服務(wù)器上去,不會(huì)有路由上的問題,接口的話根據(jù)項(xiàng)目的路徑寫個(gè)全局配置就行了,這里不詳細(xì)說。

2、vue路由mode:'history'模式(不帶#號(hào)模式)

vue在history模式打包時(shí),如果項(xiàng)目為二級(jí)目錄,則在config→index.js→build→使用assetsPublicPath: '/dist/',在路由中,使用base: '/dist/'

否則為assetsPublicPath: '/dist/'

而對(duì)于打包完后css圖片路徑不對(duì)的情況:在build→utils.js→

(1)、部署于服務(wù)器根目錄

首先,我們使用build將項(xiàng)目打包會(huì)得到一個(gè)dist文件夾

,

直接打開其中的index.htm頁面會(huì)一片空白,但不會(huì)報(bào)錯(cuò)。需要將文件放置于服務(wù)器根目錄,這里我用phpsyudy演示。

,

可是如果在其中某個(gè)路由刷新,則會(huì)出現(xiàn)404現(xiàn)象:

那是由于所有路由的入口都在index頁面,直接從中間進(jìn)入會(huì)迷失方向。此時(shí)需要在后臺(tái)配置重定向方可解決。

apache需要修改httpd.conf:

  • 第一步:將 LoadModule rewrite_module modules/mod_rewrite.so 打開,
  • 第二步:修改Directory的AllowOverride為all,注意配置文件中有很多Directory,不要該錯(cuò)了,否則不會(huì)生效的,Directory一定是你apache服務(wù)的根目錄。
  • 第三步:文件最后添加:ErrorDocument 404 /index.html (也可寫在vhosts.ini的VirtualHost標(biāo)簽的末尾)
  • 結(jié)果:完美運(yùn)行:

(2)、部署于服務(wù)器二級(jí)或多級(jí)目錄

當(dāng)然,一臺(tái)服務(wù)器上的項(xiàng)目非常多,不可能都部署在根目錄,下面來部署二級(jí)目錄

我們將服務(wù)器的根目錄設(shè)置為two:

這是因?yàn)槟愕捻?xiàng)目打包dist并不是你服務(wù)器訪問的跟目錄,訪問是http://xxx.xxx.com/dist,跟目錄訪問:http://xxx.xxx.com;由于包并不是根目錄router路由無法找到路徑中的組件,解決方法:

方法一:

需要修改router中的index.js路由部分,在每個(gè)path中加上你項(xiàng)目名稱就行了,這樣就能夠成功了

{
path: '/dist/',
redirect: '/dist/asd'
}?

方法二:

{
path: '/',
redirect: '/asd'
}(不變)

在mode: 'history',之后添加

base: '/dist/',(推薦使用)

注意:配置里也要改成相應(yīng)的ErrorDocument 404 /dist/index.html

如果index.html 可以正常訪問,但是引用的js,css等文件服務(wù)器響應(yīng)均為404,則有可能打包后的資源使用了絕對(duì)根目錄路徑,因此將項(xiàng)目部署到特定目錄下,其引入的資源路徑無法被正確解析。

解決辦法:

1、修改config => index.js => build => assetsPublicPath 中的'/'成為'./'

2、在build => util.js 里找到ExtractTextPlugin.extract增加一行:publicPath: '../../',主要解決背景圖片路徑的問題。

結(jié)果:

(3)、部署多個(gè)vue項(xiàng)目(推薦)

以上皆是配置于服務(wù)器根目錄,但是如果我有多個(gè)vue項(xiàng)目要上線呢,這時(shí)就要用到.htaccess文件了。

我們打包兩個(gè)dist文件,第二個(gè)取名dist2,,在每個(gè)項(xiàng)目的根目錄(不是服務(wù)器根目錄哦),新建.htaccess,里面寫上

ErrorDocument 404 /dist/index.html和ErrorDocument 404 /dist2/index.html就行了,記得把相應(yīng)的配置表里的設(shè)置刪掉,不然會(huì)沖突。

結(jié)果:

二、nginx服務(wù)器

1、vue路由mode:'hash'模式(帶#號(hào)模式)

hash模式打包后可以直接丟到服務(wù)器上去,不會(huì)有路由上的問題,接口的話根據(jù)項(xiàng)目的路徑寫個(gè)全局配置就行了,這里不詳細(xì)說。線上代理這里也不說了。

2、vue路由mode:'history'模式(不帶#號(hào)模式)

(1)、部署于服務(wù)器根目錄

在vhosts.conf里配置:

server {
        listen       80;
        server_name  www.2.com 2.com;
        root   "C:\Users\Administrator\Desktop\dist_root";
        location / {
		root   C:\Users\Administrator\Desktop\dist_root;
            index  index.html index.htm index.php;
            error_page 404 /index.html;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

方法二:

location /{
 
        root   C:\Users\Administrator\Desktop\dist_root;;
        index  index.html index.htm;
 
        if (!-e $request_filename) {
            rewrite ^/(.*) /index.html last;
            break;
        }
    }

(1)、部署于服務(wù)器二級(jí)目錄

location /wx{
 
        root   C:\Users\Administrator\Desktop\dist_two;
        index  index.html index.htm;
 
        #error_page 404 /wx/index.html;
        if (!-e $request_filename) {
            rewrite ^/(.*) /wx/index.html last;
            break;
        }
    }

對(duì)于同一服務(wù)器下多個(gè)vue項(xiàng)目,設(shè)置也比較簡單

location /dist {
		root   C:\Users\Administrator\Desktop\dist_two;
        index  index.html index.htm index.php;
        #error_page 404 /dist/index.html;
		if (!-e $request_filename) {
            rewrite ^/(.*) /dist/index.html last;
           	break;
        }
}
location /dist2 {
		root   C:\Users\Administrator\Desktop\dist_two;
           index  index.html index.htm index.php;
           #error_page 404 /dist2/index.html;
		if (!-e $request_filename) {
           rewrite ^/(.*) /dist2/index.html last;
           break;
        }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue官方推薦AJAX組件axios.js使用方法詳解與API

    Vue官方推薦AJAX組件axios.js使用方法詳解與API

    axios是Vue官方推薦AJAX組件,下面為大家介紹axios.js庫的詳細(xì)使用方法與API介紹
    2018-10-10
  • Vue響應(yīng)式原理詳解

    Vue響應(yīng)式原理詳解

    本篇文章主要介紹了Vue響應(yīng)式原理詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • 詳解如何在Vue組件方法中加載和使用匿名函數(shù)

    詳解如何在Vue組件方法中加載和使用匿名函數(shù)

    在Vue.js的開發(fā)過程中,組件方法的定義和調(diào)用是非常常見的,有時(shí)候,為了響應(yīng)事件或其他操作,我們需要在組件的方法中使用匿名函數(shù),本文將深入探討如何在Vue組件的方法中加載和使用匿名函數(shù),并提供詳細(xì)的代碼示例和解釋,幫助開發(fā)者更好地理解和應(yīng)用這些技術(shù)
    2024-09-09
  • 詳細(xì)講解vue2+vuex+axios

    詳細(xì)講解vue2+vuex+axios

    在vue2項(xiàng)目中,組件間相互傳值或者后臺(tái)獲取的數(shù)據(jù)需要供多個(gè)組件使用的情況很多的情況下(后臺(tái)獲取數(shù)據(jù)存入vuex,組件之間共享數(shù)據(jù)),那么就需要用vuex來管理這些。
    2017-05-05
  • 基于vue-simple-uploader封裝文件分片上傳、秒傳及斷點(diǎn)續(xù)傳的全局上傳插件功能

    基于vue-simple-uploader封裝文件分片上傳、秒傳及斷點(diǎn)續(xù)傳的全局上傳插件功能

    這篇文章主要介紹了基于vue-simple-uploader封裝文件分片上傳、秒傳及斷點(diǎn)續(xù)傳的全局上傳插件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • vue使用elementUI組件實(shí)現(xiàn)分頁效果

    vue使用elementUI組件實(shí)現(xiàn)分頁效果

    分頁在展示數(shù)據(jù)列表的場景肯定是非常多的,一般的項(xiàng)目開發(fā)中,數(shù)據(jù)量特別大,一般都是后端接口直接處理分頁返回,前端直接調(diào)用即可,本文給大家介紹了vue使用elementUI組件實(shí)現(xiàn)分頁效果,需要的朋友可以參考下
    2023-12-12
  • Vue自定義CSS變量的使用方法

    Vue自定義CSS變量的使用方法

    隨著前端技術(shù)的發(fā)展,CSS?變量(也稱為?CSS?定制屬性)成為了現(xiàn)代?Web?開發(fā)中不可或缺的一部分,在?Vue.js?應(yīng)用程序中,使用?CSS?變量不僅可以增強(qiáng)樣式的靈活性,還能提高開發(fā)效率,本文將詳細(xì)介紹如何在?Vue?項(xiàng)目中引入并使用?CSS?變量,需要的朋友可以參考下
    2024-09-09
  • vue19 組建 Vue.extend component、組件模版、動(dòng)態(tài)組件 的實(shí)例代碼

    vue19 組建 Vue.extend component、組件模版、動(dòng)態(tài)組件 的實(shí)例代碼

    這篇文章主要介紹了vue19 組建 Vue.extend component、組件模版、動(dòng)態(tài)組件 的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • vue中el-autocomplete與el-select的異同

    vue中el-autocomplete與el-select的異同

    本文主要介紹了vue中el-autocomplete與el-select的異同,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • vue select組件的使用與禁用實(shí)現(xiàn)代碼

    vue select組件的使用與禁用實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue--select組件的使用與禁用的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-04-04

最新評(píng)論