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

Visual Studio 2022中ASP.NET Core React项目多node_modules问题求助

解决ASP.NET Core React项目中"multiple copies of react"错误及重复node_modules问题

1. 彻底清理多余依赖文件

  • 完全关闭Visual Studio 2022及所有关联终端窗口
  • 删除项目根目录下的node_modules文件夹、package.json、package-lock.json(这些文件本应仅存在于ClientApp目录下)
  • 打开终端,切换到ClientApp目录:cd ClientApp
  • 强制清理NPM缓存:npm cache clean --force
  • 删除ClientApp下的node_modules和package-lock.json,重新安装依赖:npm install

2. 修正组件导入路径

所有前端依赖必须统一从ClientApp/node_modules导入,检查并修改组件中的导入语句:

  • 错误示例(根目录或全局路径导入):import React from '../../../node_modules/react' 或指向AppData的路径
  • 正确写法(直接使用包名,NPM会自动解析本地依赖):
    import React from 'react';
    import { Button, Container } from 'react-bootstrap';
    import { Routes, Route, Link } from 'react-router-dom';
    

3. 配置VS2022的工作目录

确保Visual Studio执行NPM命令时默认指向ClientApp:

  • 右键项目 → 属性 → 调试 → 将"工作目录"设置为$(ProjectDir)ClientApp
  • 检查Properties/launchSettings.json,确保workingDirectory字段指向ClientApp:
    "profiles": {
      "YourProjectName": {
        "commandName": "Project",
        "dotnetRunMessages": true,
        "launchBrowser": true,
        "applicationUrl": "https://localhost:5001;http://localhost:5000",
        "environmentVariables": {
          "ASPNETCORE_ENVIRONMENT": "Development"
        },
        "workingDirectory": "$(ProjectDir)ClientApp"
      }
    }
    

4. 验证依赖唯一性

在ClientApp目录下执行npm ls react,确认输出仅显示一个本地安装的React实例。若仍存在指向AppData的全局依赖,先卸载全局包:npm uninstall -g react react-bootstrap react-router-dom,再重新在ClientApp下安装本地依赖:npm install react react-bootstrap react-router-dom


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:52:01