提交 60d22781 编写于 作者: hbcui1984's avatar hbcui1984

Update matter.md

上级 61c39c5c
......@@ -178,54 +178,71 @@ vue页面在App端的渲染引擎默认是系统webview(不是手机自带浏
* 为避免和内置组件冲突,自定义组件请加上前缀(但不能是 u 和 uni)。比如可使用的自定义组件名称:``my-view````m-input````we-icon``,例如不可使用的自定义组件名称:``u-view````uni-input``,如果已有项目使用了可能造成冲突的名称,请修改名称,另外微信小程序下自定义组件名称不能以 wx 开头。
### 小程序开发注意
#### 各家小程序实现机制不同,可能存在的平台兼容问题
1.浏览器内核差异
各家小程序的浏览器内核不同,可能会造成css兼容性问题,更多细节参考:[https://ask.dcloud.net.cn/article/1318](https://ask.dcloud.net.cn/article/1318)
2.自定义组件渲染差异
微信/QQ/百度/字节跳动这四家小程序,自定义组件在渲染时会比App/H5端多一级节点,在写样式时需要注意:
* 使用`flex`布局时,直接给自定义组件的父元素设置为`display:flex`不能影响到自定义组件内部的根节点,需要设置当前自定义组件为`display:flex`才可以。
* 在自定义组件内部设置根元素高度为100%,不能撑满自定义组件父元素。需要同时设置当前自定义组件高度为100%才可以。
支付宝小程序不会插入节点,不存在如上问题。
#### vendor.js 过大的处理方式
小程序工具提示`vendor.js`过大,已经跳过es6向es5转换。这个转换问题本身不用理会,因为`vendor.js`已经是es5的了。
关于体积控制,参考如下:
### 微信小程序开发注意
* [微信小程序当前bug列表](https://developers.weixin.qq.com/community/develop/issueList?type=%E4%BF%AE%E5%A4%8D%E4%B8%AD&block=bug)
* [微信小程序更新日志](https://developers.weixin.qq.com/miniprogram/dev/framework/release/)
### 支付宝小程序开发注意
* [支付宝小程序更新日志](https://docs.alipay.com/mini/ide/framework-changelog)
* 支付宝小程序开发工具:[https://docs.alipay.com/mini/ide/download](https://docs.alipay.com/mini/ide/download)
* showLoading 是不透传的,也就是说 loading 显示的时候无法点击页面内容。
* 文件名或文件夹名中不允许出现 @ 符号。
* 网络请求返回的数据会严格按照 ``dataType`` 进行处理,如果不符合规范则会抛出错误,而不是按照原格式返回。
* ``canvas`` 组件的标识是 ``id``,而不是 ``canvas-id``。目前还未进行处理,所以需要主动添加 id 属性。
- 使用运行时代码压缩
+ `HBuilderX`创建的项目勾选`运行-->运行到小程序模拟器-->运行时是否压缩代码`
+ `cli`创建的项目可以在`pacakge.json`中添加参数`--minimize`,示例:`"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch --minimize"`
- 使用分包优化,[关于分包优化的说明](/collocation/manifest?id=关于分包优化的说明)
#### 各家小程序开发工具下载地址
* [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html)
* [支付宝开发者工具](https://docs.alipay.com/mini/ide/download)
* [百度开发者工具](https://smartprogram.baidu.com/docs/introduction/tool/)
* [字节跳动开发者工具](https://developer.toutiao.com/dev/cn/mini-app/develop/developer-instrument/developer-instrument-update-and-download)
#### 各家小程序更新日志列表
* [微信小程序更新日志](https://developers.weixin.qq.com/miniprogram/dev/framework/release/)
* [支付宝小程序更新日志](https://docs.alipay.com/mini/ide/framework-changelog)
* [百度小程序更新日志](https://smartprogram.baidu.com/docs/develop/swan/swanchangelog/)
* [字节跳动小程序更新日志](https://developer.toutiao.com/dev/cn/mini-app/develop/basic-library/update-log)
#### 微信小程序开发注意
- 建议关注[微信小程序当前bug列表](https://developers.weixin.qq.com/community/develop/issueList?type=%E4%BF%AE%E5%A4%8D%E4%B8%AD&block=bug),对已知Bug,想办法避让。
#### 支付宝小程序开发注意
* `showLoading` 是不透传的,也就是说 `loading` 显示的时候无法点击页面内容。
* 文件名或文件夹名中不允许出现 `@` 符号。
* 网络请求返回的数据会严格按照 `dataType` 进行处理,如果不符合规范则会抛出错误,而不是按照原格式返回。
* `canvas` 组件的标识是 `id`,而不是 `canvas-id`。目前还未进行处理,所以需要主动添加 id 属性。
* 目前测试的结果,导航栏只有设置背景颜色为 #FFF(FFF) 时才会变成黑色文字。
* 支付宝小程序的导航栏是支持透明渐变效果的,后面会提供相关的配置。
* 使用伪元素做边框时,高度值不能用 ``1rpx``,需要直接用 ``1px``
* 使用伪元素做边框时,高度值不能用 `1rpx`,需要直接用 `1px`
* 不支持 ECharts。
* 支付功能模拟不了,需要真机测试。
### 百度小程序开发注意
#### 百度小程序开发注意
* [百度小程序更新日志](https://smartprogram.baidu.com/docs/develop/swan/swanchangelog/)
* 百度小程序开发工具:[https://smartprogram.baidu.com/docs/introduction/tool/](https://smartprogram.baidu.com/docs/introduction/tool/)
* 不支持属性选择器。
* 不支持 ``scoped``
* 不支持 `scoped`
* login / getUserInfo /支付等功能在模拟器(开发工具)上不能模拟。
* ``map`` 组件在开发工具上预览效果不对,但是手机上是对的。
* ``getSystemInfo`` 获取到的 ``windowHeight`` 在模拟器中值不正确,真机预览是正确的。
* ``v-if````v-for`` 不可在同一标签下同时使用。
* 页面中引入自定义组件时,渲染的结果中外层会有一个 ``template`` 标签,这会导致部分选择器对应的样式匹配不上。
### 各家小程序的浏览器内核不同,会造成css兼容性问题
查阅细节参考:[https://ask.dcloud.net.cn/article/1318](https://ask.dcloud.net.cn/article/1318)
* `map` 组件在开发工具上预览效果不对,但是手机上是对的。
* `getSystemInfo` 获取到的 `windowHeight` 在模拟器中值不正确,真机预览是正确的。
* `v-if``v-for` 不可在同一标签下同时使用。
* 页面中引入自定义组件时,渲染的结果中外层会有一个 `template` 标签,这会导致部分选择器对应的样式匹配不上。
### 部分小程序自定义组件渲染结构不同
微信小程序、QQ小程序、百度小程序、字节跳动小程序 自定义组件在渲染时会比H5端多一级节点,在写样式时需要注意:
* 使用flex布局时,直接给自定义组件的父元素设置为display:flex不能影响到自定义组件内部的根节点,需要设置当前自定义组件为display:flex才可以。
* 在自定义组件内部设置根元素高度为100%,不能撑满自定义组件父元素。需要同时设置当前自定义组件高度为100%才可以。
### vendor.js过大的处理方式
小程序工具提示vendor.js过大,已经跳过es6向es5转换。这个转换问题本身不用理会,因为vendor.js已经是es5的了。
关于体积控制,参考如下:
- 使用运行时代码压缩
+ `HBuilderX`创建的项目勾选`运行-->运行到小程序模拟器-->运行时是否压缩代码`
+ `cli`创建的项目可以在`pacakge.json`中添加参数`--minimize`,示例:`"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch --minimize"`
- 使用分包优化,[关于分包优化的说明](/collocation/manifest?id=关于分包优化的说明)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册