vue项目打包后生成static目录和一个index.html
然后我把这两个文件发到线上
location / {
try_files $uri $uri/ /index.html;
}
通过上面的代码,让vue中定义的路由全指到index.html
这样网站可以显示,但是无法获取后台json数据
原因如下:
nginx中mime_types文件中配置
type {
text/html html
}
// 即所有后缀为html的文件的content-type都为text/html
因为所有路由都指向index.html,所以没有后缀的例如/api/articles的路由都指向index.html,所以响应头content-type都为text/html,但是我想获取的是application/json
求解,谢谢!
可以为提供josn的API配置一个location啊,看到你在知乎上问我,
比如说 location api/
不过,为什么要弄这么奇葩的配置……