首先本地运行无误,为啥打包就不行呢?

打包使用 生产模式:

  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',

如果你的路由模式使用的是history模式,则不能使用上面的相对路径 ./ 只能使用 绝对路径 / /test之类的
具体差异参见
负责会报 以下错误

Uncaught SyntaxError: Unexpected token <

同时 如果nginx 404 ,你需要加上以下配置。

server {
  listen       8887;

  location / {
    rewrite / /vue ;
  }

  location /vue {
    proxy_pass http://localhost:8888/dist;
    proxy_set_header Host $host:$server_port;
  }
}

server {
  listen       8888;
  server_name  localhost;

  location / {
    root   html;
    index  index.html index.htm;
    try_files $uri $uri/ /dist/index.html;
  # 这句配置的意思就是,拿到一个地址,先根据地址尝试找对应文件,
  # 找不到再试探地址对应的文件夹,再找不到就返回/test/index.html。
  # 再次打开刚才的about地址,刷新页面也不会404啦:
  }
}

详细参见官方文档
HTML5 History 模式

Logo

前往低代码交流专区

更多推荐