vee-validate 提示 options.awareOfUnicodeTokens 錯誤

這個問題其實不算難解,但可能剛遇到會有點沒頭緒,很有可能自己電腦也沒啥問題但是一上 CI 流程,測試環境就掛掉了

錯誤情況

大概可以從這邊獲取到一些關鍵信息

  1. 它讓你去看錯誤原因的解釋網頁 https://git.io/fxCyr
  2. 這邊報錯的是 vee-validate 套件
  3. 看方法名稱應該跟 parse 有關係,應該也是從套件的 scope 驗證自己定義的規則有關係

實際上錯誤的原因就自己看網頁,我覺得也比我講得清楚

驗證情況

利用關鍵字可以查到套件有人反映的事情,也是在版本更新的時候傳出災情,驗證一下自己專案也的確採用的是 2.1.7版本,並檢查專案目錄下 node_modules內的 vee-validate版本,也的確採用的是 2.2.15。而造成這個情況的元凶就是在 package.json內依賴套件的語法,寫的是 ^2.1.7。根據升級規則,也就很順理成章地幫你升到了 2.2.15,反正沒指定版本嘛

解決辦法

讓 npm 確實採用 2.1.7版本

測試驗證

  1. 本地端刪除 node_modules,全部套件重新安裝一次
  2. 調整 package.json , 在 vee-validate套件的地方指定 2.1.7版本 (不要^符號)
  3. 執行 npm install,讓套件管理自動更新 package-lock.json,更新完畢後該檔案搜尋 vee-validate可看到採用版本的確也是 2.1.7
  4. 跑網站執行,看原本功能錯誤的地方是否已經沒有問題
  5. 如果有 CI,也在 CI 主機上執行一次 npm ci