react不适用npm run eject生成隐藏配置文件来配置

Posted wangyisu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react不适用npm run eject生成隐藏配置文件来配置相关的知识,希望对你有一定的参考价值。

1.需要引入 react-app-rewired与customize-cra包配合使用

npm install react-app-rewired customize-cra

2.在src目录下创建config-overrides.js文件

module.exports = function override(config, env) {
  // 关于webpack的相关配置
  return config;
};

3.引入antd框架按需加载

npm install babel-plugin-import

3.1 在config-overrides.js里配置

const {override,fixBabelImports} = require(‘customize-cra‘)

module.exports = override(
    /**
     * @Descripttion: 按需加载antd
     * @param {type} 
     * @return: 
     */    
    fixBabelImports("import",{
        libraryName:"antd",
        libraryDirectory:‘es‘,
        style:‘css‘,
    }),
)

4.引入less配置

npm install less less-loader

4.1 在config-overrides.js里配置

const {override,fixBabelImports,addLessLoader} = require(‘customize-cra‘)

module.exports = override(
    /**
     * @Descripttion: 按需加载antd
     * @param {type} 
     * @return: 
     */    
    fixBabelImports("import",{
        libraryName:"antd",
        libraryDirectory:‘es‘,
        style:true,
    }),
    /**
     * @Descripttion: 配置less 
     * @modifyVars: 主题配置
     * @return: 
     */
    addLessLoader({
        javascriptEnabled: true,
        modifyVars: { ‘@primary-color‘: ‘#1DA57A‘ },
    })
)

 5. 解决跨域问题 

npm install http-proxy-middleware

  5.1 需要在src 目录下创建 setupProxy.js文件

const proxy = require(‘http-proxy-middleware‘)

module.exports = function(app) {
  app.use(
    proxy.createProxyMiddleware(‘/api‘, {
      target: ‘http://xxxxx:12306/‘,
      changeOrigin: true,
      pathRewrite: {
        ‘^/api‘: ‘‘
      }
    })
  )
}

 

以上是关于react不适用npm run eject生成隐藏配置文件来配置的主要内容,如果未能解决你的问题,请参考以下文章

使用create-react-app命令创建一个项目, 运行npm run eject报错

create-react-app 创建的项目执行npm run eject后,运行报错

create-react-app创建项目后,运行npm run eject报错解决方法

React中使用create-react-app创建项目,运行npm run eject建立灰度报错

在mac下运行 npm run eject 出现报错问题解决方法

不使用npm eject 修改create-react-app的wepack配置less-loader