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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM