背景
在 vite 工程下,使用 Vue 3.x、Vue-router 時報錯:
does not provide an export named 'createRouter'
回顧
使用 vite 創建工程后, 通過 npm i --save vue-router
命令安裝依賴,當前默認安裝的是 vue-router@3.x ,其實,期望的是 4.x,4.x 下才有createRouter
。
於是乎重新安裝 npm i --save vue-router@next
。啟動時出現上述報錯。
解決方案
在 vite 啟動時(npm run dev
)會處理一次依賴模塊,並緩存。雖然更新了模塊,但緩存沒更新,依然是 3.x 的緩存。
需要清理緩存。通過以下形式啟動一次,可強制重新創建緩存:
vite -force
另外
vite 執行時,命令行還出現了這樣的提示:
> getcrx-cn@0.0.0 dev
> vite
Pre-bundling dependencies:
vue
vuex
vue-router
@meforma/vue-toaster
(this will be run only when your dependencies or config have changed)
揭示了 Pre-bundling 執行的時機。