美文网首页
最新create-react-app脚手架配合antD,配置LE

最新create-react-app脚手架配合antD,配置LE

作者: 中華小龍 | 来源:发表于2020-04-29 15:53 被阅读0次

前言

为了爬出这个坑,尝试了百度出来的N多种方法,然而并未奏效。
最后经过两篇文章的综合测试,成功出坑。
AntD官方传送

根据官方文档配置,跳到高级配置

当你不想EJECT抛出配置文件,又想对Create-React-App脚手架生成的框架进行自定义配置时候,我们需要对 create-react-app 的默认配置进行自定义,这里我们使用 react-app-rewired
引入 react-app-rewired 并修改 package.json 里的启动配置。由于新的 react-app-rewired@2.x 版本的关系,还需要安装 customize-cra

$ yarn add react-app-rewired customize-cra less less-loader
//或者使用下面的npm或者cnpm
$ npm install react-app-rewired customize-cra less less-loader -D

使用上面的命令下载相关包文件。在 package.json 中,需要重新配置script段

"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
}

然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。

module.exports = function override(config, env) {
  // 这里输入你想配置的所有你所想
  return config;
};

按需引入,精简开发和生产模式下的消耗,在引入antD模块的时候,会自动引用它的样式

$ yarn add babel-plugin-import
//或者
$ npm install babel-plugin-import -D
// babel-plugin-import是一个用于按需加载组件代码和样式的 babel 插件,我们尝试安装它并修改 config-overrides.js 文件。

配置上面我们已经自定义的 config-overrides.js 文件,并修改写入

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

module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true,  //官方指导style:'css',但是按需引入很多样式是less写的,所以需要改写成true
    }),
);

自定义主题色

上面我们已经做好了按需引入,当你需要自定义主题色,还需要配置 config-overrides.js 文件。

引入customize-cra模块里的addLessLoader,并配置相关参数。

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

module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true,
    }),
    addLessLoader({
        javascriptEnabled: true,
        modifyVars: { "@primary-color": "#FF2DBD" }
    })
);

相关文章

网友评论

      本文标题:最新create-react-app脚手架配合antD,配置LE

      本文链接:https://www.haomeiwen.com/subject/yytnwhtx.html