vue + nginx 发布项目 静态文件404 问题
刚接触vue 没有深入研究,说是快速开发,其实并不快,好多文档但是没有一个是从创建到发布的文档。官方文档都是说一些基础不好就听不懂的细节。
切入正题
问题如下:
npm run build 打包后 用nginx 做web服务器。访问的时候css js都是404. 浏览器开发者工具Network中可以看到css js文件的路径都是少了项目名具体如下图:
端口后面没有项目名,问题还是讨人厌的绝对路径和相对路径。百度都说是什么在config/index.js中修改assetsPublicPath: './', 还有别的配置文件修改什么,但是我的项目怎么找都没这些文件。既然那么多人说肯定是可以有这个文件的,但是新建了文件再打包还是不行,应该是需要哪里引用,没找到(我就是想着能敏捷开发,以为只写一下网页就行,怎么这么多问题,可能我基础不好吧)。如果知道这些文件怎么回事的,是需要手动建还是创建的时候要加什么参数呢?还行大佬指教。
ps:更新 版本问题 Vue-cli3.0 创建的项目已经没有build和config文件夹;连接:https://www.cnblogs.com/jdWu-d/p/12197156.html
知道路径问题了,手动试一下吧就是在index.html入口页面手动改一下路径,发现有一个js “app.c2db855b.js” 路径找了半天改了半天也还是404(就是你都改了,全局也搜了这个js文件,路径都是一样的,但就是有一个是404),头疼。
然后就不动vue的心思了,直接用nginx也代理了js,css 。
在nginx.conf 中添加下面加红框的:
访问正常。
后来想了想打包如果正常那么就是我发布到nginx时配的问题,就是没有配静态文件的问题。因为我给他加了个项目名,试了下去了项目名,确实没有问题了。还是太着急了。以下配置也可以
相对路径 绝对路径
http://192.168.1.177:8082/command/index.html
index.html内相对路径是http://192.168.1.177:8082/command/ 绝对路径是http://192.168.1.177:8082/ ip+port是定义的一个服务地址 后面跟的都是服务内部的路径,绝对路径从ip+port开始