umijs 项目配置问题汇总
umi 项目问题汇总
umi或 @umijs/max 集成 tailwindcss
正常 umi 内置了 tailwindcss 插件,详情可参考官方文档 Tailwind CSS 配置生成器
但是由于内置的 tailwindcss 插件过老,umi 官方已不推荐使用内置,建议使用 tailwindcss 官方的配置。详情可见 issue
同时,umi 官方也不推荐使用 plugin-request 插件,而是建议使用自己封装的 axios/fetch,详情可见 issue
- 根据 tailwindcss 官方文档进行安装初始化
npm install -D tailwindcss
npx tailwindcss init # 此步会在根目录下生成 tailwindcss.config.js
- 配置内容
/** @type {import('tailwindcss').Config} */
module.exports = {
// tailwindcss 可使用的区域
content: ['./src/**/*.{js,jsx,ts,tsx}'],
theme: {
extend: {},
},
plugins: [],
// tailwindcss 内置的重置样式和 antd 冲突,取消重置,
// 无样式的情况下可使用 antd 提供的 App 组件来进行样式重置
corePlugins: {
preflight: false,
},
};
- 新建
tailwind.css
@tailwind base;
@tailwind components;
@tailwind utilities;
- 在 umi 的
.umirc.ts或者config/config.ts下集成 tailwindcss
// umi.js 中
export default defineConfig({
// ...
tailwindcss: {},
plugins: ['@umijs/plugins/dist/tailwindcss'],
});
// 在 @umijs/max 中
export default defineConfig({
// ...
tailwindcss: {},
extraPostCSSPlugins: [require('tailwindcss')],
});
更多配置和使用可参考 tailwindcss官方文档
代码规范问题
stylelint 不识别 @tailwindcss
stylelint 默认不识别 @tailwindcss,集成 commitlint 的情况下会造成提交时的校验不通过,无法正常提交代码
module.exports = {
extends: require.resolve('@umijs/max/stylelint'),
rules: {
'at-rule-no-unknown': [
true,
{
ignoreAtRules: ['tailwind'],
},
],
},
};