vue项目出现Uncaught SyntaxError: Unexpected token 解决方案
最近在做vue项目时,需要引入一个第三方的js文件,在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文件中的内容却没有编译成功,里面的方法依然无法使用。
原因四.浏览器缓存问题
有时候可能是由于浏览器有缓存,一直无法加载最新的内容,所以当你改了以后,依然没有生效。这种情况下,可以重新清除浏览器缓存,然后重新运行项目,就可以解决。
原因五.配置问题
1.在配置文件webpack.dev.config.js中,如存在以下内容,直接注释掉,这两部分在文件中不是连在一起的,大家注意观察。
const CopyWebpackPlugin = require('copy-webpack-plugin') new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.dev.assetsSubDirectory, ignore: ['.*'] } ])
2.然后,将这个变量的值改为,然后重新运行,就对啦。
contentBase:false
如果以上方法都不能解决的话,那我也无能为力了,这是我今天试过的所有方法,祝大家开发顺利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)