首页 > 解决方案 > 无法使用 npm start 启动 react app 的本地开发服务器

问题描述

我无法启动npm start几个月前使用的本地 React 开发服务器。我使用npx create-react-app. 我的错误日志显示如下:

> react-scripts start

internal/modules/cjs/loader.js:621
  throw e;
  ^

Error: No valid exports main found for 'C:\Users\dEBA\code\frontend\node_modules\postcss-safe-parser\node_modules\postcss'
    at resolveExportsTarget (internal/modules/cjs/loader.js:618:9)
    at applyExports (internal/modules/cjs/loader.js:499:14)
    at resolveExports (internal/modules/cjs/loader.js:548:12)
    at Function.Module._findPath (internal/modules/cjs/loader.js:650:22)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:948:27)
    at Function.Module._load (internal/modules/cjs/loader.js:854:27)
    at Module.require (internal/modules/cjs/loader.js:1023:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (C:\Users\dEBA\code\frontend\node_modules\postcss-safe-parser\lib\safe-parse.js:1:17)
    at Module._compile (internal/modules/cjs/loader.js:1128:30) {
  code: 'MODULE_NOT_FOUND'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! frontend@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the frontend@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\dEBA\AppData\Roaming\npm-cache\_logs\2020-11-29T14_58_06_913Z-debug.log

我试过删除node_modulespackage-lock.json文件夹/文件并运行

npm install -g npm@latest

npm install

尽管如此,错误似乎仍然存在。有解决这个问题的方法吗?

我的package.json文件内容如下:

  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.6",
    "@testing-library/react": "^11.2.2",
    "@testing-library/user-event": "^12.2.2",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.1",
    "web-vitals": "^0.2.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

标签: npmcreate-react-app

解决方案


这可能是因为您使用的节点版本不支持 CRA 的预构建包。

降级您的 react-scripts 版本或升级您的节点版本。

降级是不合适的,所以我建议你使用目前最高 > 14 的 LTS 版本。

参考注释如下,那将是可行的。

您需要在本地开发机器上安装 Node 8.16.0 或 Node 10.16.0 或更高版本


推荐阅读