uniapp H5 打包並部署到 nginx


個人也是了百度了挺久的了,花費的時間( 倆個半小時 )

 

uniapp 的打包首先要先配置,配置好了才能去進行打包,如圖所示。 這只是第一步。 

 

注意:

1.運行基礎路徑最好用 ./ ,如果配置了其他請自行添加路徑。

2.由於uniapp 的特性,所以導致了不支持 history 模式,只能支持 hash 模式( 路徑會帶 # )

3.千萬千萬不能勾選搖樹優化( 如果項目引用了其他組件,則會報錯 node模塊找不到組件,實際上是由於搖樹優化,裁剪了一部分沒有使用的組件,導致 node模塊的缺失 )

 

 

 

 

上面只是第一步,第二步的配置來了。

 

1. pubilcPath 的路徑要和上圖的運行基礎路徑一致,這是第一點。

2.disableHostCheck 要設置為true( 禁止訪問本地host文件 )

3.router 的base,最好設置為 ./ ( 一致化,本人沒有試過使用加了其他的會不會產生什么變化 )

4. domain 是服務器的地址,記得改為自己的本地地址或者是服務器的地址

5.看了下面的圖之后會附上代碼,可以復制粘貼。

 

 

 

"template" : "",
        "domain" : "192.168.0.74",
        "router" : {
            "mode" : "hash",
            "base" : "./"
        },
        "publicPath" : "./",
        "devServer" : {
            "disableHostCheck" : true, //禁止訪問本地host文件

            // "https" : true,
            // "port" : 8080,
            "proxy" : {
                "/api" : {
                    "target" : "http://192.168.0.202:8080", //這里使用后端服務器的地址
                    "changeOrigin" : true, //是否跨域
                    "secure" : true, // 是否支持 https 協議的代理
                    "pathRewrite" : {
                        "^/api" : ""
                    }
                }
            },
            "port" : 8080,
            "https" : true
        },

 

以上配置完成之后,就能進行打包了。

按圖索驥即可完成

 

 

找到 H5的打包

 

 

 

輸入網址標題以及服務器名字( 本地 nginx 則用本地地址 ),然后選擇 發行就會進行打包

 

 

 

打完之后會出現這張圖,出現選中部分就是打包成功,可以進行部署。

 

 找到你的項目路徑,找到這個打包之后的文件夾。例下圖( 這個H5就是你要用的東西,整個文件里的內容都是。 )

 

 

 

 

 

本地nginx的部署:

1.找到你的 nginx (個人版本:1.18.0 )

2.在你的 nginx 根目錄下創建一個文件夾,例如下圖。

 

 

3.可以把名字( admin )換成你想要的任何一個名字,然后打開它。把剛剛打包完的H5文件夾,丟進來。

 

 

接下來開始配置 nginx 的路徑了。

1.首先找到conf文件夾

 

 

2.其次點擊進去,找到nginx.conf 文件,打開它

 

 

 

 

 

找到 server 這一個對象

注意: 這里的端口必須和前面打包之前設置的端口一樣,不然會找不到。

location 對象里的 root ,就是連接你剛剛在服務器底下創建的文件夾名字, 連接上 /h5/ 則是為了和其他路徑區分開來

 

 

 

 

 

 

server {
        listen       8080;
        server_name  192.168.0.74;

        # 配置根目錄的地址是以 nginx 下的 html 文件夾為根目錄來查找的
        #root html;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root html;
            index index.html index.html;
        }

        # 配置我們的 admin 的前台服務 比如 47.105.134.120:8080/admin/index.html
        location ^~ /h5/ {
            # 處理 Vue 單頁面應用 路由模式為 history 模式刷新頁面 404 的問題
            root admin;
            autoindex on;
            autoindex_exact_size on;
            autoindex_localtime on;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}

 

  選擇性復制粘貼即可,內容解釋的很清楚了。

最后,我們來學幾條命令,用於啟動 nginx 

1. start nginx ( 首次啟動的命令 )

2.nginx -s reload ( 更新配置之后啟動的命令 )

3.nginx -s stop( 停止nginx,關閉server 的命令 )

 

最后就可以直接打開訪問了。( nginx 配置的 location 后面連接的 /h5/ 就是連接在這里的,如果不連接上去,會報錯404 )

如果連接上去了還報錯,檢查路徑是否寫錯。 如果按照我的圖和我的代碼來的話,是可以直達的哦親。

例如:http://192.168.0.74:8080/h5/ ( 這樣會跳轉到你代碼設置的默認首頁 ),如圖所示:

 

 

最后,附上一位可愛的小姐姐寫的原創博客,她的內容給了我蠻大的幫助。

所以我也寫了一遍,內容比較詳細,按圖索驥即可。

 

在此 @ ,希望可以多多指教。

https://wangxiaoting.blog.csdn.net/article/details/107176967?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM