vue 本地调试没有问题

打包上线后,线上的某个页面打开空缺,报以下缺点

Uncaught SyntaxError: Unexpected token <复制代码

phpunexpectedtokenvue  Unexpected token u003c 毛病 Java

排查定位

代码检讨

代码检讨,一样平常Unexpected token <的缺点,字面上的意识便是代码中可能有多余的<的符号,造成js壅塞

其次可能是合并冲突,导致未办理冲突的代码被提交了 <<<之类的

语法检讨

本地没有问题,打包到线上有问题,可能是webpack编译过程中ES6某些语法没有转为ES5

也可以引起类似的报错,如箭头函数等

let age = 0setInterval(() => { age++;}, 1000);复制代码文档类型

前真个表现不一定是前真个问题,也可能是做事真个问题,如设置跨域,nginx404配置等

点击掌握台缺点的代码提示,查看network对应的文件加载状态

可以看到报错的文件内容,这里把稳了,一旦js打开为doctype html,那么很大概率是nginx把js文件当做html文件相应的,于是解析缺点

这个时候记得查看该文档的相应信息

正常情形返回content-type: application/javascript

缺点的情形下,js文档的相应信息如图,变成了text/html类型

Tips

这种js被nginx返回html解析的情形是在直接返回以下形式路由的时候涌现的

利用path /:id 传参的形式的路由,直接访问对应的url才会有

前辈入首页再跳转/user不会有,不该用/:id的路由形式也不会有

routes: [ { path: '/user/:id', component: User }]复制代码

详细缘故原由未知,无奈只能转回url query取参数,而不是/user/id这里url路径上去参数了

作者:evan2020链接:https://juejin.cn/post/6844904077873119245来源:掘金著作权归作者所有。
商业转载请联系作者得到授权,非商业转载请注明出处。