将 vue 项目打包后放入 node 服务端的静态资源中访问,要如何配置 history 模式?

2020-03-25 18:01:56 +08:00
 caopi

一个项目下同时包括 web ( web 页面),admin (后台管理系统),server ( node 服务器)。

将 web 项目和 admin 项目打包后放入 node 服务端的静态资源中访问。 web 项目对应的是 /路由下的静态资源,admin 项目对应的是 /admin 路由下的静态资源。

nginx 中的配置是这样的,实际上运行的是 node 服务端。

location / {
    proxy_pass http://127.0.0.1:3000;
    include nginxconfig.io/proxy.conf;
}

我在 server 中使用了官方推荐的 connect-history-api-fallback 中间件,来做

server/index.js

如下,其中 history 为 connect-history-api-fallback 中间件

app.use('/admin', history(), express.static(__dirname + '/admin')) // admin 编译后静态文件托管
app.use('/', history(), express.static(__dirname + '/web')) // web 编译后静态文件托管

这时候使用 history 模式访问 web 的路由(/下的路由)没用问题,访问后台管理系统(/admin 路由)返回 index.html 和 js 都是 /路由下的???导致一直白屏

求教这是哪里不对呢

1428 次点击
所在节点    问与答
6 条回复
ironMan1995
2020-03-25 18:50:10 +08:00
caopi
2020-03-25 19:00:49 +08:00
@ironMan1995 就是这个一直不行啊。。。唉
caopi
2020-03-25 19:03:00 +08:00
舅舅我吧,实在是没办法了
saozhu
2020-03-25 19:17:28 +08:00
不太懂这方面,小胆猜测你这里 /admin 被 nginx 指到了 /
jingcoco
2020-03-25 19:56:46 +08:00
请问你是看到 vue 官方 SSR 方案吗,感觉不是这么简单吧。
caopi
2020-03-26 18:25:32 +08:00
@jingcoco 不是 SSR

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656139

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX