- HBuilderX创建的项目仅支持在HBuilderX中编译,其他环境需使用vue-cli。
- uni_modules依赖需手动维护。更新时参考模块package.json文件中版本,已为最新版本不会覆盖。
- uni-app中vue文件(除App.vue)style标签默认scoped,若要取消需使用
:scoped="false"。
- uni-app中页面的父元素uni-page-body默认不具有
height: 100%,可通过page选择器添加,但组件的page选择器在微信小程序中会警告,建议在App.vue中全局设置。
- uni-app H5端若要支持rpx计算,需设置pages.json中globalStyle下列属性为页面最大宽度:
| 属性 | 类型 | 默认值 | 说明 | 支持的平台 |
|---|
| rpxCalcMaxDeviceWidth | number | 960 | rpx最大支持宽度 | App、H5 |
| rpxCalcBaseDeviceWidth | number | 375 | rpx超出最大支持宽度后参考宽度 | App、H5 |
| maxWidth | number | | 页面最大宽度 | H5 |
- 内置组件与uni-ui组件考虑微信小程序兼容性,尽量使用属性控制样式,而非css。
- input在H5端非原生组件,需使用placeholder-style属性。
uni-ui
- uni-icons属性size和color具有行内默认值,可使用空属性清除(不推荐,微信小程序会警告),例如:
<uni-icons type="search" size color />
| 属性名 | 类型 | 默认值 | 说明 |
|---|
| size | number | string | 16 | string类型支持单位,number类型单位为px |
| color | string | rgb(51,51,51) | |
- uni-icons在H5端具有同名class,微信小程序端没有。
vue-cli创建的项目
- uni_modules、static、pages和components目录位于src下。
- H5 dev模式下由于编译前后static目录位置不同,动态引用文件不会自动处理(静态无影响),可使用vite代理解决:
export default defineConfig({
server: {
proxy: {
'/static': {
target: 'http://localhost:5173',
rewrite: path => path.replace(/^\/Test/, '/src/static')
}
}
}
})
- sass、pinia需使用npm等外部包管理器安装。若报错Conflicting peer dependency,可尝试
--legacy-peer-deps选项。
- VS Code打开带有注释的pages.json和manifest.json报错:
{
"files.associations": {
"pages.json": "jsonc",
"manifest.json": "jsonc"
}
}
微信小程序(暂停更新)
- wxss不支持万能选择器
*,组件样式不支持标签选择器、id选择器、属性选择器[]。
v-for不加:key会警告。
- 需使用uni.getMenuButtonBoundingClientRect()手动适配菜单按钮,具体参考。
HBuilderX
- 若遇uni.scss自动导入失效,重启HBuilderX。
- 若需取消vue文件style标签最外层缩进,可使用官方prettier插件替换内置js-beautify。