Vue3项目运行报Uncaught TypeError: Object(…) is not a function错误求解决
问题排查与解决方案
- 核心错误诱因确认:你的package.json中错误将适配Vue2的
vue-loader@15.9.7放到了生产依赖中,Vue3要求使用v16及以上版本的vue-loader,版本不匹配会导致模板编译异常,就是你看到的Object(...) is not a function报错,同时启动到98%的警告也是版本不匹配触发的。 - 第一步:修复vue-loader依赖
执行以下命令卸载错误版本的vue-loader:
再安装适配Vue3的vue-loader到开发依赖:npm uninstall vue-loadernpm install vue-loader@^16.8.3 --save-dev - 第二步:清理缓存重装依赖
删除项目根目录下的node_modules文件夹、package-lock.json(yarn用户删除yarn.lock)文件,执行以下命令清理npm缓存并重装依赖:npm cache clean --force npm install - 第三步:检查App.vue第11行代码
报错明确指向App.vue第11行,确认该行调用的函数是否存在导入错误:比如是否把默认导入写成了解构导入、导入的库版本变动后导出规则变化等,重点检查vue3-vt-notifications、particles.vue3等第三方库的导入方式是否和官方文档一致,是否存在默认导入/命名导入混用的错误。 - 可选优化:如果以上操作后还有启动警告,可以将
@vue/cli-service升级到4.5.15及以上版本,适配Vue3编译需求。
内容的提问来源于stack exchange,提问作者Superdiazzz
相关产品推荐
相关产品推荐

