事情起因
前端的代碼在我本機初次下載后,dev 調試沒問題,build 出的包,在 android4.4 系統中無法瀏覽,查看日志:
Uncaught SyntaxError: Use of const in strict mode -- From line 1 of
解決方式
使用cnpm
因為前端一直使用的是 cnpm,而我用的npm
對比分析
我用同一份代碼分別使用了 yarn、npm、cnpm ,對比結果如下
-i | build | 真機瀏覽 | |
npm | Yes | No 會報錯,提示缺少swiper.css |
No Use of const in strict mode |
cnpm | Yes | Yes | Yes |
yarn | Yes | Yes | No Use of const in strict mode |
andorid 4.4 | andorid 5 | andorid 6 | Chrome | |
前端 window7、node v12、npm v6.8 | Yes | Yes | Yes | Yes |
我的 window10、node v8、npm v6.8 | No | Yes | Yes | Yes |
我的 window10、node v14、npm v7 | No | Yes | Yes | Yes |
我的各種嘗試(用npm)
期間對比了svn中提交的各個版本,發現在某個版本開始,可以重現該錯誤。
經過分析本次提交的代碼,逐行屏蔽、打包、測試,找到了:
import Clickoutside from "element-ui/src/utils/clickoutside";
將這個功能屏蔽后,npm打包的版本也可以使用了。
深層次原因
還不明白