背景
在 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 执行的时机。