npm - 无法使用 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_modules和package-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"
]
}
}
解决方案
这可能是因为您使用的节点版本不支持 CRA 的预构建包。
降级您的 react-scripts 版本或升级您的节点版本。
降级是不合适的,所以我建议你使用目前最高 > 14 的 LTS 版本。
参考注释如下,那将是可行的。
您需要在本地开发机器上安装 Node 8.16.0 或 Node 10.16.0 或更高版本
推荐阅读
- flutter - Flutter 如何在类中使用 setState 或其他东西
- reactjs - 如何在 react-native 中呈现 Html 并更改数据?
- javascript - 通过迭代数组链接承诺
- azure-devops - 如何在 azure devops 上使用触发管道信息标记触发管道
- java - 在两个 if 语句中使用 Java 中的变量
- database - Laravel 8.1 如何制作用户表的播种机
- unit-testing - ErrorException:试图获取非对象的属性“id”--Laravel 单元测试
- python - 从另一个索引和值列表替换列表列表中的多个项目
- reactjs - 带有 Github Actions 的 env 文件
- graphviz - Cytoscape 不从我的点文件加载节点和边缘属性