vue 本地调试没有问题
打包上线后,线上的某个页面打开空缺,报以下缺点
Uncaught SyntaxError: Unexpected token <复制代码
排查定位
代码检讨
代码检讨,一样平常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来源:掘金著作权归作者所有。商业转载请联系作者得到授权,非商业转载请注明出处。