You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue项目升级至Vue3时构建报错:@vue/compiler-sfc触发TypeError

Vue 2升级Vue3构建报错:Cannot read properties of undefined (reading 'start')

问题分析

这个报错触发于@vue/compiler-sfc的createBlock方法中,结合你的App.vue代码,核心原因有两个:

  • Vue3里内置的<Transition>组件不再全局注册,必须手动导入后才能使用
  • 项目依赖版本不匹配(比如vue-loader、@vue/compiler-sfc的版本和Vue3主版本不兼容)

解决方案

1. 手动导入并注册Transition组件

修改App.vue的script部分,补充Transition的导入与注册:

<script>
import AppNavigation from "./components/AppNavigation.vue";
import AppFooter from "./components/AppFooter.vue";
import { Transition } from 'vue'; // 新增导入语句

export default {
  name: "App",

  components: {
    AppNavigation,
    AppFooter,
    Transition // 新增组件注册
  },

  data: () => ({
    //
  }),
};
</script>

2. 对齐依赖版本

确保项目中以下依赖版本符合Vue3的要求:

  • vue: ^3.x.x
  • vue-loader: ^16.x.x(Vue3必须使用v16及以上版本的vue-loader)
  • @vue/compiler-sfc: 版本号与vue主版本保持一致

修改package.json中的版本后,执行命令重新安装依赖:

# Windows系统
del /q node_modules && del package-lock.json
npm install

# macOS/Linux系统
rm -rf node_modules package-lock.json
npm install

3. 清理构建缓存

如果上述操作后仍报错,清理webpack等构建工具的缓存,再重新执行构建命令。

内容的提问来源于stack exchange,提问作者Yassir Habek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:31:06