编译失败。找不到module:无法解析“react-router-dom”

IT技术 javascript node.js reactjs react-router-dom
2021-05-12 01:49:59

之后npm start,浏览器报错:

无法编译 ./src/components/App/App.js module未找到:无法解析“react-router-dom”。

React-router-dom 已添加到 npm 中的依赖项中,因此也添加了 react-router 和 react。

已使用create-react-app myappcmd 行创建项目这是在本地主机节点服务器上运行的。我的项目文件夹中有一个 api 和 app 文件夹。我尝试了各种各样的事情。手动更新我的app文件夹中的package.json,重新安装react-router-dom,删除app文件夹中的package-lock.json并重新初始化。我的 api 文件夹只包含 node_modules、我的 api 文件、route.js、config.js、index.js 以及 package.json 和 package-lock.json。我在我的应用程序文件夹中尝试了 npm build 命令。它只是创建一个“build”文件夹,其中包含与我的应用程序文件夹中的公共文件夹相同的文件。我也试过跑步yarn add react-router-dom

//=========App.js file=========

//dependencies
import React, { Component } from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';

//components
import Header from '../Header/Header';
import Footer from '../Footer/Footer';
import Home from '../Pages/Home';
import StudentOverview from '../Pages/StudentOverview';
import StudentDetails from '../Pages/StudentDetails';
import Management from '../Pages/Management';
import StudentAdd from '../Pages/StudentAdd';
import Exercise from '../Exercise/Exercise';

//includes
import '../../../public/css/kdg-fonts.css';
import '../../../public/css/normalize.css';
import '../../../public/css/responsive.css';
import '../../../public/css/say-my-name.css';
import '../../../public/css/style.css';

//Run
class App extends Component {
  render() {
    return (
      <Router>
        <div className="App">
          <Route path='*' component={Header} />
          <Route path='*' component={Footer} />
          <Route exact path='/' component={Home} />
          <Route exact path='/studenten' component={StudentOverview} />
          <Route exact path='/studenten/:id' component={StudentDetails} />
          <Route exact path='/beheer' component={Management} />
          <Route exact path='/beheer/add' component={StudentAdd} />
          <Route exact path='/oefenen' component={Exercise} />
        </div>
      </Router>
    );
  }
}

export default App;

//=========appfolder/package.json file=========

{
  "name": "saymyname",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-scripts": "2.1.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "gulp": "^4.0.0",
    "gulp-changed": "^3.2.0",
    "gulp-clean-css": "^4.0.0",
    "gulp-rename": "^1.4.0",
    "gulp-sass": "^4.0.2",
    "gulp-uglify": "^3.0.1"
  }
}

更新:npm install -S react-router-dom解决了错误。

4个回答

我面临同样的问题。以下命令将解决它:

npm install react-router-dom --save

在我的情况下,我使用 Typescript,我需要安装

npm i react-router-dom

npm i @types/react-router-dom

两次安装后错误都消失了。

通过以下步骤修复此错误。
步骤 1: npm install --save react-router-dom
步骤 2:<script src="https://unpkg.com/react-router-dom/umd/react-router-dom.min.js"></script>
脚本标签放入public/index.js

问题是,您的 React 项目没有 react-router-dom module。您可以借助以下命令安装和保存它。只需在您的项目根目录中运行此命令,一切正常。

npm install --save react-router-dom