亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

一、Apache服務器

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

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

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

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

否則為assetsPublicPath: '/dist/'

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

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

首先,我們使用build將項目打包會得到一個dist文件夾

,

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

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

那是由于所有路由的入口都在index頁面,直接從中間進入會迷失方向。此時需要在后臺配置重定向方可解決。

apache需要修改httpd.conf:

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

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

當然,一臺服務器上的項目非常多,不可能都部署在根目錄,下面來部署二級目錄

我們將服務器的根目錄設置為two:

這是因為你的項目打包dist并不是你服務器訪問的跟目錄,訪問是http://xxx.xxx.com/dist,跟目錄訪問:http://xxx.xxx.com;由于包并不是根目錄router路由無法找到路徑中的組件,解決方法:

方法一:

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

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

方法二:

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

在mode: 'history',之后添加

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

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

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

解決辦法:

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

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

結(jié)果:

(3)、部署多個vue項目(推薦)

以上皆是配置于服務器根目錄,但是如果我有多個vue項目要上線呢,這時就要用到.htaccess文件了。

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

ErrorDocument 404 /dist/index.html和ErrorDocument 404 /dist2/index.html就行了,記得把相應的配置表里的設置刪掉,不然會沖突。

結(jié)果:

二、nginx服務器

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

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

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

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

在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)、部署于服務器二級目錄

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;
        }
    }

對于同一服務器下多個vue項目,設置也比較簡單

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é)

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

相關(guān)文章

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

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

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

    Vue響應式原理詳解

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

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

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

    詳細講解vue2+vuex+axios

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論