求助!遇到了 vue 跟 nginx 奇葩问题,我人傻了

2020-02-26 23:10:34 +08:00
 badtypea

撞上了个难搞的项目,前端用 vue 写的,没有域名,IP 直接访问。

现在客户要求加个首页,IP 直接访问,然后可以跳转回原来的 vue 页面。

但问题是他源码没了,我改不了 baseUrl,用 nginx 各种配置二级目录也一直不行...

今天弄了一天的 nginx.conf,我人都要傻了,有没有熟悉这方面的老哥,求指点指点。

4722 次点击
所在节点    NGINX
27 条回复
badtypea
2020-02-27 02:33:24 +08:00
@sodatea 多谢老哥!可以了,这我真的是人傻了,改的是原目录的,一下子没想起来现在读取的是我自己放到根目录的 JS 文件。终于可以安心合眼了,感谢!
also24
2020-02-27 02:36:43 +08:00
先把 『一片空白』的原因搞清楚再去折腾 nginx。

不要改 nginx,直接把整个前端项目先丢进子目录;
Chrome 打开开发者模式,访问相应子目录页面;
清缓存,刷新页面,查看 network 标签。

此时着重观察:
1、有多少静态资源出错,出错的原因是域名不一致还是路径问题?
2、有多少 xhr 请求出错,出错的原因是域名不一致还是路径问题?

先把以上问题搞清楚,再继续下一步。

在整个前端项目里,全局搜索相应的 域名( IP )/接口 ,寻找已被编译的配置文件或死代码。
根据前面观察的结果,进行针对性修改。
badtypea
2020-02-27 02:42:52 +08:00
@also24 嗯,这下已经都清楚了,一片空白就是因为没法设置 baseUrl 为 "/example",能找到打包后改的位置就可以了,一般也没我这么惨连源码都没...虽然此贴已结,这么晚了还帮忙分析多谢啦。
also24
2020-02-27 02:44:50 +08:00
@badtypea #23
我回帖中的 『在整个前端项目里搜索』是无论打包前后的代码都可以做的。
also24
2020-02-27 02:47:35 +08:00
补充一下,如果 baseurl 配置为 "/" 可能会遇到匹配太多导致无法搜索的情况。
此时还有一个方法就是 Chrome 控制台内,对每一个 xhr 请求都有相应的 js 调用链,可以通过跟踪这个调用链找出 URL 是在什么地方拼接的。
badtypea
2020-02-27 02:49:47 +08:00
@also24 是可以做,但是没经验就不知道要搜索什么,因为打包后搜 baseUrl 是没结果的,而且还有 vue-router,这之后就知道可以直接搜索 "/"了,虽然对应的键还是不知道啥意思 ,但我估计以后也不用上了吧,希望用不上 233
badtypea
2020-02-27 02:51:32 +08:00
@also24 哦,这个可以,学到了

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

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

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

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

© 2021 V2EX