使用vue-cli打包文件之后, 从上报上来的错误日志中有大量的Unexpected token <错误?
本人使用的是, vue2.x + webpack2.0, 打包之后, 项目有近两百个js,
最近webpack升到了3.0, 我就跟着升到了3.0.0, 然后上线了一个新版本的代码
然后噩梦就发生了, 老是从JS日志中看到
Uncaught SyntaxError: Unexpected token <;
的错误日志, 老纠结了!!!
猜测:
可能是webpack3.0.0打包机制进行了变更, 导致版本不兼容
网络错误导致JS长时间载入不成功, 即载入不完整, 报出该错误
多个服务器节点没有同步到, 相应的JS资源!! 导致拉取失败
其它node_modules都是最新版本, 版本不兼容(PS: 轻微强迫症, 喜欢升级到最新)
现在我已经把webpack的版本降到2.7.0了, 重新打了一个线上包发上去, 等明天再看看结果!!
请各位大大, 帮我分析一下!! thx
PS: 我自己也查了相关资料, 但是没有得出一个很好的结论!!!
--------------- 更新 ---------------
看了一下各位的问题, 我确实还做了其它操作, 就是使用了html5 history mode,
在nginx上做了, 配置
location / {
try_files $uri $uri/ /index.html;
}
因为有使用vue-router, 如果没记错的话, 好像是跟着那个版本一起上的!
不知道, 是不是也有影响
--------------- 2017-07-13 00:24:00 更新 ---------------
就在刚刚我找来了运维同学, 拉来了服务器日志,
发现了许多http code 为 206, 或499的.js文件get请求, 有很多字节都变为0或者1
不知道是不是这样的原因, 但是, 这个又跟服务器报上来的.js文件对不上, 还是说, 错误会出现在引用
的js文件上
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
我之前也有过这个问题
原因是因为配置服务器的时候把js资源重定向到了html
那你现在配置不是把资源路径都重定向到了index.html了吗..
与 JSON.parse 有关,看一下是不是 AJAX 后端返回的错误页面,如果是,和后端商量一下,把错误页面全部改为 json
应该是babelrc的配置问题,调整一下babel的依赖和配置吧,需要单独配置babel,将配置放到文件.babelrc中
昨天我也碰到过这个错,原因是打包出错:把html模板打包成了js。
解决方法是:看看配置文件配置的路径,要改成绝对路径,用相对路径就会出现这个错。
我也遇到了,没能解决啊,,,,,你们怎么解决的?
把额外的文件放到static目录下
然后<script src="/static/yourjs.js"><script>
问题出现的是因为访问url最后多了个/ 比如xxx.xxx.com/a/b访问没问题 但是xxx.xxx.com/a/b/访问就会出错 你可以看看devtools的network 那些报错的资源的地址是什么。
我也遇到了。后面发现是以前在改配打包的配置。检查下webpack.prod.conf.js里的 publicPath 设置的设置。如果是./ 改成/ 。原来一个同事改了这里没有通知其他开发人员。一定要做下规范。修改配置文件一定要通知所有组员。
vue-cli3.0 中路由设置为 history 模式会出现这个问题,目前在 vue.config 文件中将baseUrl设置为 '/' 可以解决
遇到了同样的问题,你们是怎么解决的,百度的解决方法都不行