React中customize-cra的应用

npm install react-app-rewired customize-cra babel-plugin-import -D

或者

yarn add customize-cra react-app-rewired --dev

项目根目录创建文件config-overrides.js,其内容为

const {...} = require('customize-cra');

module.exports = override(
    ...
);
  • React按需加载

config-overrides.js内容

const { override, fixBabelImports } = require("customize-cra");
module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true,//或者css, true代表运用less
    }),
);

    

修改package.json
"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  },

 

  • 运用LESS(无需暴露配置文件)
yarn add --dev less less-loader //less-loader用5.0版本,高版本停用了一些配属性
//config-overrides.js内容

const { override,addLessLoader} = require("customize-cra");
module.exports = override(
   addLessLoader({
        javascriptEnabled: true,
        modifyVars: {}
    }),

);

 

  • 装饰器
 npm install -D @babel/plugin-proposal-decorators


//config-overrides.js
const { override, addDecoratorsLegacy} = require('customize-cra');

module.exports = override(
   ...
    addDecoratorsLegacy()
);

.....

更多应用,参考https://github.com/arackaf/customize-cra/blob/master/api.md#adddecoratorslegacy

posted @ 2020-06-28 14:53  Responsible  阅读(4128)  评论(0编辑  收藏  举报