chrome77 和 ios13 开始支持黑暗模式;
想要的效果:
- 想要在项目中,某些组件或页面使用暗黑模式风格
- 让所有的支持 theme 切换的组件(比如 Layout)默认从全局配置里面设置,
- 局部优先级高于全局;
实际开发中:
- 局部 dark暗黑模式,antd 暂时不支持。
- 这样会导致 antd打包会非常大,而且黑色主题是需要开发者适配,这个工作量还是蛮大的
antd 4x dark theme
https://github.com/ant-design/ant-design-dark-theme
https://ant.design/docs/react/customize-theme-cn#%E5%AE%98%E6%96%B9%E4%B8%BB%E9%A2%98-%F0%9F%8C%88
webpack.config.js 配置 darkTheme
在 webpack.config.js 使用 less-loader 按需引入
const { getThemeVariables } = require('antd/dist/theme');// webpack.config.jsmodule.exports = {rules: [{test: /\.less$/,use: [{loader: 'style-loader',}, {loader: 'css-loader', // translates CSS into CommonJS}, {loader: 'less-loader', // compiles Less to CSS+ options: {+ lessOptions: { // 如果使用less-loader@5,请移除 lessOptions 这一级直接配置选项。+ modifyVars: getThemeVariables({+ dark: true, // 开启暗黑模式+ compact: true, // 开启紧凑模式+ }),+ javascriptEnabled: true,+ },+ },}],}],};
