Taro官方文档中,推荐使用px作为尺寸单位,在我的项目中,使用px作为单位后,更换机型尺寸没有进行自适应,也就是说一个元素的高度设为297px,在所有机型中都是297px,即594rpx,这样的结果就是我以设计稿的iphone 6机型进行开发后,更换机型页面就会乱掉,以下是效果和 index.js
文件中的配置
const path = require("path");
const fs = require('fs')
const port = process.env.port || process.env.npm_config_port || 80 // 端口
const config = {
projectName: 'jjtc-applet',
date: '2021-9-11',
designWidth: 375,
deviceRatio: {
640: 2.34 / 2,
750: 1,
828: 1.81 / 2,
375: 2 / 1
},
sourceRoot: 'src',
outputRoot: 'dist/' + process.env.TARO_ENV,
plugins: ['@tarojs/plugin-html'],
defineConstants: {
},
alias: {
// '@': path.resolve(__dirname, '..', 'src/')
'@/api': path.resolve(__dirname, '..', 'src/api'),
'@/components': path.resolve(__dirname, '..', 'src/components'),
'@/utils': path.resolve(__dirname, '..', 'src/utils'),
},
copy: {
options: {
},
patterns: [
{ from: 'src/img/', to: 'dist/'+process.env.TARO_ENV+'/img/', ignore: ['*.js'] }, // 指定需要 copy 的目录
]
},
framework: 'vue3',
mini: {
postcss: {
pxtransform: {
enable: true,
config: {
onePxTransform: true,
unitPrecision: 5,
propList: ['*'],
selectorBlackList: [],
replace: true,
mediaQuery: false,
minPixelValue: 0
}
},
url: {
enable: true,
config: {
limit: 1024 // 设定转换尺寸上限
}
},
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
}
}
},
h5: {
publicPath: './',
staticDirectory: 'static',
devServer: {
host: '0.0.0.0',
port: port,
open: true,
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: process.env.VUE_APP_SERVER_URL,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
}
// "/dev-api": {
// target: 'http://192.168.1.66:8080/',
// changeOrigin: true,
// pathRewrite: {
// '^/dev-api': ''
// }
// }
},
disableHostCheck: true
},
postcss: {
autoprefixer: {
enable: true,
config: {
onePxTransform: true,
unitPrecision: 5,
propList: ['*'],
selectorBlackList: [],
replace: true,
mediaQuery: false,
minPixelValue: 0,
baseFontSize: 20,
maxRootSize: 40,
minRootSize: 20
}
},
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
}
}
}
}
module.exports = function (merge) {
if (process.env.NODE_ENV === 'development') {
return merge({}, config, require('./dev'))
}
if (process.env.NODE_ENV === 'production') {
return merge({}, config, require('./prod'))
}
switch (process.env.NODE_ENV) {
case 'development':
return merge({}, config, require('./dev'));
case 'production':
return merge({}, config, require('./prod'));
default:{
console.log(path.resolve(__dirname, process.env.NODE_ENV + '.js'))
if(fs.existsSync(path.resolve(__dirname, process.env.NODE_ENV + '.js'))) {
return merge({}, config, require('./' + process.env.NODE_ENV))
}
console.error("配置环境变量NODE_ENV错误,使用development配置代替")
return merge({}, config, require('./dev'));
}
}
}
高度是固定的,不会转化成自适应的形式。
因为 iPhone X 的屏幕宽度也是 375px
呀…… 只是说屏幕高度会高一些。
如果你是想要铺满屏幕的可以考虑使用 vh 或者 calc() 来处理
目前使用 markdown 编辑的文章通过 next.js 在构建时进行了预渲染,生成了 html 文件,如果要让小程序也能读取文章,只能先获取 markdown 内容,然后转化为 wxml,但是小程序不支持动态添加 wxml,这个应该怎么渲染?
使用 openDocument 的方式打开的话需要新开页面打开 pdf,使用 web-view 的方式也是类似新开页面。微信小程序能否在当前页面以内嵌的方式预览 pdf?
求帮忙, 需求是vue项目里的某个页面, 只需要这一个, 能自适应大小(自动根据1920设计图计算PX改成rem) 在做的管理系统中, 首页是个大屏, 需要把大屏写在管理系统首页里, 同时也要是个大屏。 所以就需要px-to-rem这种插件。 以前直接写大屏都是用的:@njleonzhang/postcss-px-to-rem 或者postcss-pxtorem。 但是都没用, 会影响整个项目的U
本文向大家介绍微信小程序中单位rpx和rem的使用,包括了微信小程序中单位rpx和rem的使用的使用技巧和注意事项,需要的朋友参考一下 前言 这篇文章主要给大家讲解了rpx和rem应用于微信小程序,如果你还没有入门,建议先从下面看起 微信小程序官方文档 >web app变革之rem >rpx单位官方文档 >rpx单位基础介绍 如果看完上面几篇文章,我们开始进
写微信小程序用vant tab标签栏发现圈起来的会占剩下的所有高度我去custom-class="benchTab"调高度没有啥用,,下面的标签栏都被挤没有了 没有
qiankun 微前端 子应用不支持vite怎么办?