localhost启动server && mob

2018-10-15  本文已影响21人  张培_

前提

Mobile device 和 computer 在同一个网络下。

问题描述

发现看到了一个纯HTML页面

解决思路

为什么只能看到纯HTML页面

在我之前的认知里,如果只看到了HTML页面,并且还是一个填充了data的HTML页面,就说明只有ssr起作用了,browser side rendering(bsr)挂了.. so 我就一直反复的想为啥bsr没有生效呢。。。当别人告诉我这只是css文件没加载出来。。我还一直沉迷在bsr的漩涡中(感觉自己贼蠢)

实践告诉我们,只想不做是没有办法解决问题的,so:

第一步就是疯狂的找有用的log信息


mobile出错但是moblie看不到log,浏览器总能看到。尝试使用浏览器访问和mobile相同的路由,惊现相同的问题。

只要出现问题,请打开控制台看一下先

发现css和js的请求失败了,好吧你们说的对是因为css文件请求失败,log信息中还有请求的url。

为啥只有css和JS会失败,HTML咋不失败?

贴两张图直接表明原因:

从上图中可以看出了:

  - 请求8080端口只是拿回来了HTML页面(带数据因为ssr)
  - 不论你是ssr还是bsr都需要再次单独的访问css和js文件,webpack通常会帮助我们将css文件JS文件分别打包,因此在HTML中使用`link/script` tag引用url

因此,只出现HTML的原因是: css和Js的请求挂掉了。

第二步:请求挂了,找到请求的URL,以及返回的状态码

一看到请求的url,就瞬间明白了, 路径是这样的: http://localhost:8000/assets/client.css

呵呵呵,这种请求,不晓得手机的localhost会不会疯掉,我的项目启动了8000端口启动静态服务器,储存css以及js文件。

为了解决这个问题:需要分成两个步骤:

那么还需要将8080的host改成your IP吗?
第三步 服务器重启,OK可以访问到了

总结

上一篇 下一篇

猜你喜欢

热点阅读