vue出現(xiàn)Uncaught SyntaxError:Unexpected token問題及解決
最近在做vue項(xiàng)目時(shí),需要引入一個(gè)第三方的js文件,在index.html中通過以下方式引入JS文件編譯后,就報(bào)了這個(gè)問題。
根據(jù)廣大的網(wǎng)頁的思路,導(dǎo)致這一現(xiàn)象的原因可能有以下幾種:
原因一:引用文件的位置不正確
js文件放在static文件夾下和放在assets文件夾下的引用方式是不一樣的。
簡而言之:
- 1.assets用來放置樣式、靜態(tài)圖片,只要src下面的組件中用到的資源就放在assets中。
- 2.static用來放沒有npm包的第三方插件,字體文件。
- 3.assets與components同級(jí) components下的.vue引用靜態(tài)文件時(shí),相對路徑為 ../assets/xxx/......
說明:如果js文件中包含es6語法的話,就不可以放在static文件夾下,因?yàn)閟tatic文件夾默認(rèn)是不會(huì)被打包和編譯的,所以引用的時(shí)候會(huì)拋異常。
不同之處可以查看這篇:http://chabaoo.cn/javascript/320319g1q.htm
解決方法:
將src下的文件放到static下面去,在indec.html中的引用路徑采用相對路徑的表現(xiàn)形式,“./static/xxx/xxxxx.js”
原因二:配置信息不正確
如果你的js文件中包含es6語法,但沒有配置采用babel-loader來解析和轉(zhuǎn)化為es5語法的話,也會(huì)報(bào)這個(gè)錯(cuò)誤。
解決方法:
需要在webpack.config.js里配置loader,vue-cli是不會(huì)幫忙配置的。
然后重新編譯項(xiàng)目,就可以解決,當(dāng)然這個(gè)也沒有解決我的問題。
原因三:script的引入類型不對
解決辦法:
將type="text/javascript"改為type="text/babel"
我嘗試了,不會(huì)再報(bào)以上錯(cuò)誤,但是我引入的JS文件中的內(nèi)容卻沒有編譯成功,里面的方法依然無法使用。
原因四:瀏覽器緩存問題
有時(shí)候可能是由于瀏覽器有緩存,一直無法加載最新的內(nèi)容,所以當(dāng)你改了以后,依然沒有生效。
這種情況下,可以重新清除瀏覽器緩存,然后重新運(yùn)行項(xiàng)目,就可以解決。
原因五:配置問題
1.在配置文件webpack.dev.config.js中,如存在以下內(nèi)容,直接注釋掉,這兩部分在文件中不是連在一起的,大家注意觀察。
const CopyWebpackPlugin = require('copy-webpack-plugin') new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.dev.assetsSubDirectory, ignore: ['.*'] } ])
2.然后,將這個(gè)變量的值改為,然后重新運(yùn)行,就對啦。
如果以上方法都不能解決的話,那我也無能為力了,這是我今天試過的所有方法,祝大家開發(fā)順利。
contentBase:false
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue router傳遞參數(shù)并解決刷新頁面參數(shù)丟失問題
這篇文章主要介紹了Vue router傳遞參數(shù)并解決刷新頁面參數(shù)丟失問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12vue業(yè)務(wù)實(shí)例之組件遞歸及其應(yīng)用
目中出現(xiàn)多級(jí)菜單時(shí),需要多層for循環(huán)時(shí),但是當(dāng)菜單增加層級(jí)時(shí),需要在頁面結(jié)構(gòu)中增加一層for循環(huán),這時(shí)我們可以使用組件遞歸的思想來實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue業(yè)務(wù)實(shí)例之組件遞歸及其應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-05-05vue3+three.js實(shí)現(xiàn)疫情可視化功能
這篇文章主要介紹了vue3+three.js實(shí)現(xiàn)疫情可視化,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式
這篇文章主要介紹了antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10在Vue中進(jìn)行數(shù)據(jù)分頁的實(shí)現(xiàn)方法
在前端開發(fā)中,數(shù)據(jù)分頁是一個(gè)常見的需求,特別是當(dāng)處理大量數(shù)據(jù)時(shí),Vue作為一款流行的JavaScript框架,提供了強(qiáng)大的工具和生態(tài)系統(tǒng)來實(shí)現(xiàn)數(shù)據(jù)分頁,本文將介紹如何在Vue中進(jìn)行數(shù)據(jù)分頁,以及如何設(shè)計(jì)一個(gè)通用的分頁組件,需要的朋友可以參考下2023-10-10一次在vue中使用post進(jìn)行excel表下載的實(shí)戰(zhàn)記錄
最近遇到了需求,覺著有必要給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于一次在vue中使用post進(jìn)行excel表下載的實(shí)戰(zhàn)記錄,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07