vue出现Uncaught SyntaxError:Unexpected token问题及解决

  目录

  最近在做vue项目时,需要引入一个第三方的js文件,在index.html中通过以下方式引入JS文件编译后,就报了这个问题。

  根据广大的网页的思路,导致这一现象的原因可能有以下几种:

  原因一:引用文件的位置不正确

  js文件放在static文件夹下和放在assets文件夹下的引用方式是不一样的。

  简而言之:

  说明:如果js文件中包含es6语法的话,就不可以放在static文件夹下,因为static文件夹默认是不会被打包和编译的,所以引用的时候会抛异常。

  不同之处可以查看这篇:https://www.jb51.net/javascript/320319g1q.htm

  解决方法:

  将src下的文件放到static下面去,在indec.html中的引用路径采用相对路径的表现形式,“http://www.jb51.net/javascript/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, 'http://www.jb51.net/static'),

  to: config.dev.assetsSubDirectory,

  ignore: ['.*']

  }

  ])

  2.然后,将这个变量的值改为,然后重新运行,就对啦。

  如果以上方法都不能解决的话,那我也无能为力了,这是我今天试过的所有方法,祝大家开发顺利。

  contentBase:false

  总结

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

  您可能感兴趣的文章: