vue3报错 Uncaught TypeError: Cannot read properties of null (reading ‘isCE‘) at renderSlot

在Vue3项目中遇到报错,通常是由于不同版本的Vue共存导致。可以尝试使用yarn替代npm重新安装依赖,或者在vite.config.js或vue.config.js中配置解决依赖重复问题,如设置resolve.dedupe或alias来指定Vue的路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

最近在vue项目中遇到如下报错,项目使用的是vue3+webpack搭建的
在这里插入图片描述

原因

造成这个的原因是有两个不同的vue版本, 就可能下载的其他的第三方和当前的vue版本不相同, 就有两个vue的副本,在引入的时候, npm去尝试引入的地址不对

解决方案

有如下几种解决方案

  1. 由于npm的引入地址不对, 那我们使用yarn,删除node_modules,使用yarn安装,生成新的yarn.lock
  2. 修改配置文件
    • vite搭建的项目,在 vite.confg.js 文件中添加如下配置
    	
     resolve: {
    	  dedupe: [
    	    'vue'
    	  ]
    },
       		
    
    • webpack(vue-cli)搭建的项目,在vue.config.js文件中添加如下配置
    const { defineConfig } = require("@vue/cli-service");
    const path = require("path");
    
    module.exports = defineConfig({
      // ...
      configureWebpack: {
       // 👇🏻 这个配置
        resolve: {
          symlinks: false,
          alias: {
            vue: path.resolve("./node_modules/vue"),
          },
        },
      },
      // ...
    });
    
    

参考
https://github.com/vuejs/core/issues/4344

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值