最近在自学react语言,搭脚手架时,npm start 会报错误 大体意思是内存溢出的问题, 其中错误点是 powershell 找不到的问题,看到网上很多说是在环境变能量里面配置能解决问题,但是在我这是不行的,请教老师也是不知道原因,说重新下载依赖试试,多次尝试也是不管用。 在这提前说一下,以前react的项目启动成功过,所以一直在网上巴拉解决办法。
现在总结一下原因:
1.如果你是第一次玩react的项目,按照教学的演示来是没有问题的, 第一步创建项目 create-react-app 项目名 npm start 一般没有问题
2.如果npm start 出现错误 powershell 问题 首先检查一下你的电脑上有没有 这个插件是win7 框架自带,若没有去官网下载社和自己的插件。
D:\client>yarn start
yarn run v1.12.3
$ react-app-rewired start
D:\client\config-overrides.js:3
config = injectBabelPlugin(["@babel/plugin-proposal-decorators", { legacy: true }], config);
^^^^^^
SyntaxError: Rest parameter may not have a default initializer
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:656:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
解决办法:
config-overrides.js配置为
module.exports = function override(config, env) {
...
config = injectBabelPlugin(["@babel/plugin-proposal-decorators", { legacy: true }], config);
return config;
}
package.json配置为
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"bootstrap": "^4.1.3",
"jquery": "^3.3.1",
"mobx": "^5.8.0",
"mobx-react": "^5.4.3",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.1",
"reactstrap": "^6.5.0"
},
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test --env=jsdom",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"react-app-rewire-mobx": "^1.0.9",
"react-app-rewired": "^1.6.2"
}
}
3.若插件安装不上,你只能重新在系统的(本人就是这样,实在是安装不上)。
重做后启动成功
4.若启动后出现 3000的提示或者8041提示就是端口被占用。