首先创建项目
create-react-app project 创建一个名字为project的web项目
npm install jquery或者yarn add jquery(这里如果不需要jquery中的ajax那么可以忽略)
yarn add react-router-dom 安装路由模块
安装依赖
yarn add antd
安装配置
yarn add react-app-rewired customize-cra
代码解释
react-app-rewired: (一个对 create-react-app 进行自定义配置的社区解决方案)。
引入 react-app-rewired 并修改 package.json 里的启动配置。
customize-cra:由于新的 react-app-rewired@2.x 版本的关系,你还需要安装 customize-cra。
安装babel-plugin-import
yarn add babel-plugin-import
代码原因:babel-plugin-import 是一个用于按需加载组件代码和样式的 babel 插件(原理),现在我们尝试安装它并修改 config-overrides.js 文件。
修改package.json文件,将1后面的删除,把2后面的复制上去(1和2不要复制)
/* package.json */
“scripts”: {1 “start”: “react-scripts start”,
2 “start”: “react-app-rewired start”,
1 “build”: “react-scripts build”,
2 “build”: “react-app-rewired build”,
1 “test”: “react-scripts test”,
2 “test”: “react-app-rewired test”,
}
添加自定义配置信息,
在根目录下(项目目录下)创建一个config-overrides.js文件
内容为:
const { override, fixBabelImports } = require(‘customize-cra’);
module.exports = override(
fixBabelImports(‘import’, {
libraryName: ‘antd’,
libraryDirectory: ‘es’,
style: ‘css’,
}),
);
然后就要去ant design,找组件,这里举个例子
新建一个XXX.js文件,将上面的import { Input } from ‘antd’;和input标签进行添加就可以,举例如下
import React from 'react'
import { Input } from 'antd';
class input1 extends React.Component{
constructor(){
console.log("constructor")
super()
this.state={
now :new Date().toLocaleString()
}
setInterval(()=>{
this.setState({
now :new Date().toLocaleString()
});
},1000);
}
render(){
return(
<div>
<Input placeholder="Basic usage" />
</div>
);
}
}
export default input1;
这样就可以愉快的使用这个组件了,在app.js中导入,然后在需要加组件的地方直接写<input/>
就可以.
安装自定义主题
(要在项目文件下执行如下代码):
yarn add less less-loader
然后在config-overrides.js中将下面的teal部分换成其他配色方案就可以了,具体可以百度
addLessLoader({
javascriptEnabled: true,
modifyVars: { '@primary-color': 'teal' },
}),