Vue项目报错:Uncaught SyntaxError: Unexpected token '<'的解决方法
目录
- 问题:
- 一、public下的index.html没有引入其他外部js文件。
- 二、 public下的index.html引入其他外部js文件。
- 原因一.引用文件的位置不正确
- 原因二:配置信息不正确
- 原因三:script的引入类型不对
- 总结
问题:
最近做vue项目时,当我访问二级路由的时候,就会报Uncaught SyntaxError: Unexpected token ‘<‘错误,而我访问一级路由不会报错。翻了网上很多资料,都无法解决。
一、public下的index.html没有引入其他外部js文件。
解决方法:清除浏览器缓存。
二、 public下的index.html引入其他外部js文件。
原因一.引用文件的位置不正确
js文件放在static文件夹下和放在assets文件夹下的引用方式是不一样的。简而言之:
1.assets用来放置样式、静态图片,只要src下面的组件中用到的资源就放在assets中。
2.static用来放没有npm包的第三方插件,字体文件。
3.assets与components同级 components下的.vue引用静态文件时,相对路径为 ../assets/xxx/......
说明:如果js文件中包含es6语法的话,就不可以放在static文件夹下,因为static文件夹默认是不会被打包和编译的,所以引用的时候会抛异常。
不同之处可以查看这篇博客:https://www.cnblogs.com/huangqiao/p/7798887.html
解决方法:
将src下的文件放到static下面去,在indec.html中的引用路径采用相对路径的表现形式,“./static/xxx/xxxxx.js”
原因二:配置信息不正确
如果你的js文件中包含es6语法,但没有配置采用babel-loader来解析和转化为es5语法的话,也会报这个错误。
解决方法:
需要在webpack.config.js里配置loader,vue-cli是不会帮忙配置的。
然后重新编译项目,就可以解决,当然这个也没有解决我的问题。
原因三:script的引入类型不对
解决办法:将type="text/javascript"改为type="text/babel"
我尝试了,不会再报以上错误,但是我引入的JS文件中的内容却没有编译成功,里面的方法依然无法使用。
总结
到此这篇关于Vue项目报错:Uncaught SyntaxError: Unexpected token '<'解决的文章就介绍到这了,更多相关Uncaught SyntaxError: Unexpected token '<'内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!