個人也是了百度了挺久的了,花費的時間( 倆個半小時 )
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
