【Vue中的坑】Vue打包上传线上报Uncaught SyntaxError: Unexpected token <

今天在vue打包上传线上后,报一下错误,一下就懵了,这可咋整啊,一如既往的想都没想就开始复制错误,上网开搜

Uncaught SyntaxError: Unexpected token <Uncaught SyntaxError: Unexpected token <Uncaught SyntaxError: Unexpected token <

 

网上搜的大致有几种

     1.因为vue在打包上传的时候不会编译es6,需要安装babel来将es6转成es5 。

     2.在经过build/webpack.prod.conf.js打包后的JS文件hash值会有变更,因为每次更新代码到线上都会删除旧的dist目录,将最新的dist目录copy上传提供后台更新. 在更新代码的这个过程用户停留在页面上,当用户在更新完后重新操作就会导致报错,点击查看详细 。

 

这些方法都是过了,还是没有解决问题,没办法,只能自己在研究了。

 

在以上方法都不管用的情况下只能看下nginx配置了,配置如下:

location / { proxy_pass http://localhost:8082; #try_files $uri $uri/ =404; try_files $uri $uri/ /index.html;}

可以看到,当出错的时候会强制跳转到 index.html 页面,而js文件是不会识别html,因此报Uncaught SyntaxError: Unexpected token < 错误

 

nginx实现静态文件分发配置如下:

server { listen 100; listen [::]:100; server_name 127.0.0.1; location / { root /var/www/website/endfront/dist/; index index.html; #roxy_pass http://localhost:8083; #try_files $uri $uri/ =404; try_files $uri $uri/ /index.html; }}

 

相关文章