一、创建ant design pro
可以参考官方文档:https://beta-pro.ant.design/docs/getting-started-cn
yarn create umi
按照 umi 脚手架的引导,第一步先选择 ant-design-pro:
选择 antd 的版本,我选择 5。
二、启动
npm install 或yarn install
yarn start
三、打开开发模式下页面右下角的小气泡,方便添加区块和模版等pro资产
yarn add @umijs/preset-ui -D
四、启动
yarn start
五、安装插件支持切换主题
但是这样创建的项目,没有切换主题的功能。怎么办?
参考这里即可:
https://github.com/ant-design/ant-design-pro/blob/v5/.github/workflows/deploy.yml
(1)安装插件
npm install 或yarn install
yarn add umi-plugin-antd-theme umi-plugin-pro umi-plugin-setting-drawer
yarn run pro fetch-blocks --branch=v5
(2)启动
yarn start -------第一次启动慢,因为加载主题呀!!!!
看到一个错误提示,不影响。
App running at:
- Local: http://localhost:8000 (copied to clipboard)
- Network: http://192.168.0.141:8000
INFO cache in :D:/aliyun/admin-antd/node_modules/.plugin-theme
INFO � build theme
� less render start!
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
at Object.writeFileSync (fs.js:1460:5)
at loop (D:\aliyun\admin-antd\node_modules\antd-pro-merge-less\index.js:287:12)
at build (D:\aliyun\admin-antd\node_modules\antd-pro-merge-less\index.js:299:5) {
code: 'ERR_INVALID_ARG_TYPE'
}
分析了node_modules\antd-pro-merge-less\index.js 287行增加了日志,原来是它loop加载主题
fs.writeFileSync(fileName, css);
console.log('xxxxxxxxx',modifyVarsArrayPath); ---第一次这个为undefined
console.log('xxxxxxxxx',modifyVars); ---第一次这个为undefined
// 写入缓存的变量值设置
fs.writeFileSync(modifyVarsArrayPath, JSON.stringify(modifyVars));
(3)访问
访问http://localhost:8000 -------第一次启动慢,因为加载主题呀!!!!