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

如果以上方法都不能解決的話,那我也無能為力了,這是我今天試過的所有方法,祝大家開發順利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM