如题:
留意我上面的红色框 文件地址 和 sublime ngingx.conf 没有原点表示已经保存
下面是 css js的统一代理到 localhost:8081下 (8081开启的是我后台的服务器 但是该无服务器对应路径并没有对应的js css文件) 所以按道理 如果浏览器 走了nginx代理 css js 是不会成功加载的
但是:
可以看出 配置确实没有生效 还是localhost:80
我怀疑是我改了 nginx.conf 没有重新启动nginx
所以现在我再去试一下
结果如第二张图 一样还是成功的 并且还是localhost:80
当然还有一种可能就是 我配置 css js 的location没有生效 而是直接用的html里的url拼接跳转
所以我们把location删除 再试试
结果还是成功
我们再把href里的路径改下 确定是否是这里url的作用
注意我们这次直接改的html文件 并没有重启nginx
我们在static后面加了个3 发现404
由此可见确实是href 起的作用
最后通过这个href 可以发现 上面的url是跟着nginx / 的根目录下 相加而来的
例如
我js 的path
E:\Program Files\nginx-1.12.2\html\static\js\xxxx.js
location /{
root html;//意味着 / 匹配到html下
}
所以我们href 为/static/xxx/zzz.js时
最后的路径为
localhost/static/xxx/zzz.js
但是是去本机的html/static 里去找的
最后判断一下 /static/中 前面/ 的影响
不加变成了这样
所以 前面加上/表示在templates 本级目录或者说html下级目录找
不加表示在templates 下级目录找
下面是玄学问题:
这个地方来的js
和我本地的不一样 我晕
重启试试
成功了
SO 为什么 html可以不用重启生效 而js 就要 。。。。。
然后为什么调用的还是80端口的
玄学???
然后发现
是浏览器缓存吗。 。。清除试试
真的是浏览器缓存 我干