使用react-app-rewired启动react项目报错了

按照antd官网上进行配置 结果 npm start启动报错了 不知道为什么

clipboard.png

config-overrides.js

const {injectBabelPlugin} = require('react-app-rewired');
const rewireLess = require('react-app-rewire-less');
module.exports = function override(config, env) {
    config = injectBabelPlugin(['import', {libraryName: 'antd', style: true}], config);
    config = rewireLess.withLoaderOptions({
        modifyVars: {"@primary-color": "#1DA57A"},
    })(config, env);
    return config;
};

package.json

{
  "name": "campus-card",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "antd": "^3.1.1",
    "babel-plugin-import": "^1.6.3",
    "react": "^16.2.0",
    "react-app-rewire-less": "^2.1.0",
    "react-app-rewired": "^1.4.0",
    "react-dom": "^16.2.0",
    "react-scripts": "1.0.17"
  },
  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

目录结构

clipboard.png

阅读 19.5k
8 个回答
新手上路,请多包涵

你是不是 yarn run eject 了?不暴露配置的情况下是可以的。

新手上路,请多包涵

这个问题我也遇到了,还踩了坑,如果遇见这个错误,直接 npm install react-scripts 就可以解决问题,但这样会存在另一个问题,会造成你由yarn run eject检出config目录下更改一些配置无效,比如在config目录下配置less去掉hash配置等无效,这个如果你想继续配置less等其他操作,必须到node_modules下的react-scripts目录下的config去配置,个人估计npm install react-scripts之后由yarn run eject检出config目录应该是完全不起作用,不知道其他小伙伴遇到没

react-scripts模块下找不到package.json,说明你npm i 没有成功,或者react-scripts包版本不对。

新手上路,请多包涵

可能是没有安装react-scripts模块

我也遇到这样的问题了,如果是使用create-react-app脚手架的话,会自动安装这个包的,反之的话需要手动安装下react-scripts包依赖。

新手上路,请多包涵

同样遇到了,我出现这个问题的原因是我用的ts,所以改成const scriptVersion = custom_scripts || 'react-scripts-ts';就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题