Uniapp---H5子目录部署方案

在做Uniapp开发的时候,在一些特定的情况下需要使用H5打包运行,直接打包就会有个问题,从项目的角度上来说,确实需要每个单独一个域名,但是多个域名在浏览器的协议中,就会存在跨域的问题,还得解决跨域的问题,那有没有一种方式是可以将这些项目同时运行在一个域名下呢?

当然是可以的。默认情况下,打包后运行在项目的根目录,但是根目录文件较多,这个时候就可以考虑将项目运行在根目录下的子目录下,比如/h5/下。

具体操作:

1、Uniapp发布配置

配置H5打包时的公共路径,修改: manifest.json文件

{
  "h5": {
    "title": "有点帅",
    "router": {
      "base": "/h5/", // 必须:配置为你的目标目录名,比如这里设置a
      "mode": "history" // 必须:使用History路由模式
    }
  }
}

2、如果是一个域名部署多个,还需要改nginx配置

server {
    listen 80;
    server_name www.abc.com;
    # 你的项目配置
    location ^~ /a/ {
        # 使用 alias 将路径映射到项目dist目录
        alias /usr/share/nginx/html/a/;
        index index.html index.htm;
        # History 路由模式下的关键配置:所有404请求都回退到index.html
        try_files uri/ /usr/share/nginx/html/a/index.html;
    }
    # 可以在此继续配置其他项目的 location...
    # location ^~ /b/ { ... }
}

参考:

https://blog.csdn.net/qq_17009639/article/details/155346033

打完收工!

posted @ 2026-04-01 14:59  帅到要去报警  阅读(5)  评论(0)    收藏  举报