在umijs中的.umirc.ts文件常用配置 和 postcss-px-to-viewport插件的配置

umijs中文文档 https://umijs.org/zh-CN
umijs中.umirc.ts文件配置说明:https://umijs.org/zh-CN/config

umijs配置文件.umirc.ts

import { defineConfig, Redirect } from 'umi';
import px2vw from 'postcss-px-to-viewport';

export default defineConfig({
    // 配置主题,实际上是配 less 变量(Ant Design 的样式变量)。
    theme: {
    	//全局主色
        '@primary-color': '#1890FF',  // 更多变量说明:https://ant.design/docs/react/customize-theme-cn
    },
    // 配置额外 CSS
    styles: [
        `body { color: red; }`,
        `https://www.xxx.com/abc.css`
    ],
    // 配置全局标题。
    title: 'xxx',
    // 配置mock 模拟数据 默认为true。		
    mock: false,
    // 配置是否让生成的文件包含 hash 后缀,通常用于增量发布和避免浏览器加载缓存。
    hash: true,
    // 配置需要兼容的浏览器最低版本
    targets: {
        ie: 11
    },
    // 指定输出路径
    outputPath: '/dist',
    // 设置 node_modules 目录下依赖文件的编译方式。
    nodeModulesTransform: {
        type: 'none',
    },
    history: {
        type: 'browser' // 可选 browser、hash 和 memory
    },
    //配置路由 注:如果没有 routes 配置,Umi 会进入约定式路由模式,然后分析 src/pages 目录拿到路由配置。
    routes: [
        { path: '/', component: '@/pages/index' },
        {
            path: '/user',
            component: '@/pages/user/index',
            routes: [
                { path: '/', component: '@/pages/user/user', title: '用户中心' },
                { path: '/user/info/:id?', component: '@/pages/user/info/[id]', title: '详情' },
                { path: '/user/name', component: '@/pages/user/name' },
                { component: '@/pages/404' }
            ]
        },
        { component: '@/pages/404' }
    ],
    // 本地开发API接口请求代理
    proxy: {
        '/api': {
            target: 'http:www.xxx.com/',
            changeOrigin: true,
            pathRewrite: { '^/api': '' }
        }
    },
    // 快速刷新(开发时可以保持组件状态,同时编辑提供即时反馈。)
    fastRefresh: {},
    // 配置额外的 umi 插件。
    plugins: [
        `${__dirname}/plugin.js`,
    ],
    // 配置额外的 postcss 插件(px 转 vw|vh)
    extraPostCSSPlugins: [
        px2vw({
            unitToConvert: 'px', 		// 要转化的单位
            viewportWidth: 1920, 		// 视窗的宽度,可根据自己的需求调整(这里是以PC端为例)
            viewportHeight: 1080, 		// 视窗的高度
            unitPrecision: 6, 			// 转换后的精度,即小数点位数
            propList: ['*'], 			// 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
            viewportUnit: 'vw', 		// 指定需要转换成的视窗单位,默认vw
            fontViewportUnit: 'vw', 	// 指定字体需要转换成的视窗单位,默认vw
            selectorBlackList: ['wrap'],// 指定不转换为视窗单位的类名,
            minPixelValue: 1, 			// 默认值1,小于或等于1px则不进行转换
            mediaQuery: true, 			// 是否在媒体查询的css代码中也进行转换,默认false
            replace: true, 				// 是否转换后直接更换属性值
            exclude: [/node_modules/], 	// 设置忽略文件,用正则做目录名匹配
            landscape: false, 			// 是否处理横屏情况
        })
    ],
});

1、UmiJs默认插件说明:
package.json
@umijs/preset-react插件集说明:https://umijs.org/zh-CN/plugins/preset-react
在这里插入图片描述




2、postcss-px-to-viewport插件配置:

它是 PostCSS 的一个插件,它从像素单位生成视口单位(vw、vh、vmin、vmax)。
PostCss-Px-To-Viewport 插件可将css中的px单位 自动转换 成viewport(vw/vh)单位
postcss-px-to-viewport插件地址:https://www.npmjs.com/package/@ttou/postcss-px-to-viewport

postcss-px-to-viewport插件的安装

npm install -D postcss-px-to-viewport
或:
yarn add postcss-px-to-viewport -D

具体参数说明:

参数参数值类型说明
unitToConvert(String)要转换的单位,【默认为 px】。
viewportWidth(数字)视口的宽度。
unitPrecision(Number)允许 vw 单位增长到的十进制数。
propList(数组)可以从 px 更改为 vw 的属性。
值需要完全匹配。
使用通配符 * 启用所有属性。例子: [’*’]
在单词的开头或结尾使用 。([’ position ‘] 将匹配 background-position-y)
用 !不匹配属性。示例:[’
’, ‘!letter-spacing’]
将“not”前缀与其他前缀组合在一起。示例:[’ ', '!font ']
viewportUnit(字符串)预期单位。
fontViewportUnit(字符串)字体的预期单位。
selectorBlackList(数组)要忽略并保留为 px 的选择器。
如果值是字符串,它会检查选择器是否包含字符串。
[‘body’] 会匹配 .body-class
如果 value 是 regexp,它会检查选择器是否与 regexp 匹配。
[/^body$/]将匹配body但不匹配.body
minPixelValue(数字)设置要替换的最小像素值。
mediaQuery(布尔值)允许在媒体查询中转换 px。
replace(布尔值)替换包含 vw 的规则而不是添加回退。
exclude(数组或正则表达式)忽略一些文件,如“node_modules”
如果值为正则表达式,将忽略匹配文件。
如果值为数组,则数组的元素为正则表达式。
landscape(布尔值)@media (orientation: landscape)与通过landscapeWidth.
landscapeUnit(字符串)landscape选项的预期单位
landscapeWidth(数字)横向的视口宽度。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值