为什么会报Uncaught SyntaxError: Unexpected token '<'错误?

我是使用若依管理后台框架来打包的,打包出来的dist文件夹里的东西放在了服务器上,然后就报这个错误了
image.png
百度了很久,找到一个帖子说,本来要加载的js文件的Response Header的content-type异常,正常情况是返回content-type:application/javascript。但是有一个js响应的内容为HTML,js无法识别
image.png
前几天清缓存就能访问,但是今天访问又不行了,有哪位大神能解决这个问题
帖子地址是这个https://segmentfault.com/a/11...

阅读 38.2k
3 个回答

这个我貌似遇到过,好像是更新打包之后,部分用户有缓存导致的。服务器在代理的时候加个默认不缓存即可(好像是一样的问题,不排除解决不了的情况,时间离得有点久了)。例如在nginx的配置中加上如下代码,其他的代理也类似。

location ~ .*\.(?:htm|html)$
    {
        add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
    }

那你看一下 preview 里面返回的是什么呢?如果真的是html那么就是不对的,你应该让他返回js代码。

具体还是得看你的配置,nginx配置贴一下吧。

vue.config.js中publicPath空字符串改成带斜杠,修改完重启项目

原代码

{
    publicPath:''
}

改成

{
    publicPath:'/'
}

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏