使用vue-cli打包文件之后, 从上报上来的错误日志中有大量的Unexpected token <错误?

本人使用的是, vue2.x + webpack2.0, 打包之后, 项目有近两百个js,

最近webpack升到了3.0, 我就跟着升到了3.0.0, 然后上线了一个新版本的代码

然后噩梦就发生了, 老是从JS日志中看到

Uncaught SyntaxError: Unexpected token <;

的错误日志, 老纠结了!!!

猜测:

  1. 可能是webpack3.0.0打包机制进行了变更, 导致版本不兼容

  2. 网络错误导致JS长时间载入不成功, 即载入不完整, 报出该错误

  3. 多个服务器节点没有同步到, 相应的JS资源!! 导致拉取失败

  4. 其它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文件上

回答:

我之前也有过这个问题
原因是因为配置服务器的时候把js资源重定向到了html

那你现在配置不是把资源路径都重定向到了index.html了吗..

回答:

Uncaught SyntaxError: Unexpected token <;

与 JSON.parse 有关,看一下是不是 AJAX 后端返回的错误页面,如果是,和后端商量一下,把错误页面全部改为 json

回答:

应该是babelrc的配置问题,调整一下babel的依赖和配置吧,需要单独配置babel,将配置放到文件.babelrc中

回答:

Uncaught SyntaxError: Unexpected token <;

昨天我也碰到过这个错,原因是打包出错:把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设置为 ‘/’ 可以解决

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注