在vue開發中,有時候會出現以crypto-js、vue-mdc-adapter等模塊為例在項目構建完成并且引入模塊后啟動時,報錯提示:
Uncaught SyntaxError: Unexpected token '
這個問題的出現是因為vue-cli沖突時默認會去安裝最新版的webpack,而新版webpack的源代碼被壓縮了,所以在解壓縮時沒有保留代碼中的格 業務中,會出現空格也影響到二進制碼解壓縮而報錯。
解決辦法有兩種:
1. 為你使用的模塊增加別名,顯式地引入源碼,不要使用npm自帶的build版本,例如:
"alias":{
"vue$":"vue/dist/vue.common.js"
}
2. 進入模塊的node_modules中尋找源碼,將源碼復制出來替換掉同名文件。
除此之外,還有一些特殊情況會引發空格報錯。例如:
Parse error on line 6:
...ws to bind to column another_column 1)
----------------------^
Expecting 'ID', 'STRING', 'NUMBER', 'NOT', '(', '-', '+', 'SELECT', '(', 'UPDATE', 'DELETE', 'FROM', 'VALUE'
這個錯誤提示可能讓我們很難理解,但事實上也是由于有空格問題。
例如代碼中的空格過多,或者不規律,可能會影響到解析器的解析過程。
所以在編寫代碼時,要注意避免不必要的空格,尤其是在字符串中出現空格時,要格外小心。
總之,空格報錯這類問題,與vue的具體實現和模塊功能無關,而是涉及到編程語言的基礎知識和代碼規范問題。