zoukankan      html  css  js  c++  java
  • uni-app开发注意事项

    • 小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。App端在v3模式以前,也有相同限制。v3编译模式起支持直接使用本地背景图和字体。

    • 微信小程序只支持网络路径和base64的图片。不支持相对路径引入的图片图片(真机不支持,开发工具支持),如有需要,大图片可以使用网上链接,小图片可以转码后使用(百度搜索“图片base64转码”)

    • static 目录下的 js 文件不会被编译,如果里面有 es6 的代码,不经过转换直接运行,在手机设备上会报错。

    • 使用@import引入css文件等需在尾部 添加分号; 以表示语句结束。不添加则引入不生效

    • 微信小程序不支持相对路径(真机不支持,开发工具支持),所以若开发的项目包含微信小程序端,则建议使用绝对路径引入文件

    /* 绝对路径 */
    @import url('/common/uni.css');
    @import url('@/common/uni.css');
    /* 相对路径 */
    @import url('../../common/uni.css');
    @import '../../common/uni.css';
    
    • 使用rpx或者px,像宽度这种需要动态改变的建议使用 rpx。像字体,高度这种若不需要动态改变,则可以使用 px

    • 请尽量避免将静态的样式写进 style 中,以免影响渲染速度。静态的样式可以统一写到 class 中。style中可以写入动态样式,会自动解析,如:

    <view :style="{ height: iStatusBarHeight + 'px'}"></view>
    export default {
            data() {
                return {
                    iStatusBarHeight:0
                }
            },
            onLoad() {
                this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight
            }
        }
    
    • 为支持跨平台,框架建议使用Flex布局 参考 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

    • 小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。

    • uniapp全局变量的几种实现方式 https://ask.dcloud.net.cn/article/35021

    • 以:style=""这样的方式设置px像素值,其值为实际像素,不会被编译器转换。

    • 非H5端不支持 Vue官方文档:Class 与 Style 绑定 中的 classObject 和 styleObject 语法 ,详见:https://cn.vuejs.org/v2/guide/class-and-style.html

    • 非H5端暂不支持在自定义组件上使用 Class 与 Style 绑定

    • 为兼容各端,事件需使用 v-on 或 @ 的方式绑定,请勿使用小程序端的bind 和 catch 进行事件绑定。

    • 若需要禁止蒙版下的页面滚动,可使用 @touchmove.stop.prevent="moveHandle",moveHandle 可以用来处理 touchmove 的事件,也可以是一个空函数。

    • App端(vue页面V3编译模式)和H5端支持v-html,其他端不支持v-html。跨端的富文本处理方案详见:https://ask.dcloud.net.cn/article/35772

    • app-nvue只能使用rich-text

    • 若开发项目包含小程序和app,建议使用uParse(uparse详见: https://ext.dcloud.net.cn/search?q=uparse )。在使用nvue的页面里再使用rich-text

    • nvue页面暂不支持全局组件

    • Vue.component 的第一个参数必须是静态的字符串。如 Vue.component('page-head',pageHead)

    • 在创建新页面后,安卓端要关闭再重新运行,新页面才可以通过路由跳转过去。热更新不管用,要重新启动。

    • uni.navigateTo中路由路径要加 / 才能成功跳转

    pages.json
    {
        "path" : "pages/user/register/register",  //这里pages前没有/
        "style" : {
              "navigationBarTitleText": "用户注册"
        }
    },
    
    login.vue
    register(){
        uni.navigateTo({
              url:"/pages/user/register/register"  //这里比pages.json中的路由配置pages前多了/
        })
    },
    
    • app中文和英文的行高不一致,在文字如标题,简介等,需统一设置高度和行高
    font-size: 12px;
    color:#FFFFFF;
    height: 40rpx;  //设置行高和高度
    line-height: 40rpx;
    
    • uniapp中集成的微信分享api不能显示超过32k的图片,所以分享图片要设为小于32k的图片(iOS上有此限制,Android上没有)

    • 在tabBar(及app的底部导航)中使用的路由具有唯一性。tabBar中使用了,其他地方便不可用了,会失效。

  • 相关阅读:
    android性能优化之布局优化
    android性能调优之traceview的使用
    android性能优化
    EditText光标居上
    ExecutorService的submit(Runnable x)和execute(Runnable x) 两个方法的本质区别
    android 静默安装
    android 内存优化
    image-webpack-loader在mac或ubuntu报错
    git重命名文件和文件夹
    js判断设备类型
  • 原文地址:https://www.cnblogs.com/huihuihero/p/12666436.html
Copyright © 2011-2022 走看看