今天在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; } }
原文地址:https://www.cnblogs.com/cap-rq/p/10306088.html
时间: 2024-12-08 00:04:10