Vue中的現代模式編譯是一種很好的模式既能在現代瀏覽器上獲得性能與體積提升又能在舊版瀏覽器中得到支持。但是在現代模式下硬編碼的文件名是不被支持的,當出現硬編碼的文件名時採用現代模式編譯會報錯。
錯誤示例:
這個種看着各個都不相同的錯誤都是因爲在路由中添加了能夠讓webpack識別的註釋,在webpack打包時對各個功能模塊的單個組件文件進行了硬編碼命名,比如:BlocManage.7b99f172.js,其中BlocManage爲硬編碼部分。
通過webpack註釋來配置webpack使得webpack進行打包時進行硬編碼命名的示例:
圖片中紅框中的註釋部分是一種webpack能夠識別的配置方式,示例中的註釋是指把該路由模塊打包爲“Scheduling”命名的文件即爲指定了一個硬編碼來命名文件導致Vue中現代模式編譯失敗。
Vue對此的解釋:
紅框中說明了指定模塊名時無法使用現代模式編譯的原因。
解決辦法:取消指定模塊名即可。