最近接手了一个小程序开发,从头开始。使用了 uniapp 搭建,以前没有做过小程序开发,着手看文档、查文档。一步一步完成了任务的开发。特此记录开发过程中的问题。
开发建议:
通常在 components 目录会存放项目中共用的组件,然后暴露,全局引用安装
但是在 uniapp 中不生效,有两种方式实现组件注册:
所有的组件直接导入到 mian.js 中,通过 Vue 对象注册即可在其他页面中引用。
要注意的是,注册的组件名必须是字符串,不能是
只要符合 文件存储路径,则不需要手动注册,可直接引用组件。
而且这有助于打包时剔除掉没有使用到的组件。
那现在我们的功能组件存放路径改为 ,即可全局使用。
也可以在 配置自定义设置,定义哪些匹配的组件。
新加的组件注意清除缓存,重新运行生效。
由于开始项目,所有的 UI 设计图都放在了前端,导致编译后整个包大小超过了 4M。开发时并没有提示这个问题,准备真机测试时,提示无法上传。就去找解决方案。
在采用方案之前耗费了好多时间去手动删除一些不用的文件、删除不用的代码。再一看无济于事,看来代码并占不了多少。
分包的方式,刚开始的时候所有的文件都是放在下的,中 也都配置在 中。
需要将初始加载无关的模块拆出来,同 pages 同级目录下。
在 通过属性 配置分包编译。
root 为分包的主目录,pages 目录下的页面,为相对路径。
然后重新运行,再次真机调试,没有此前的包过大的提示。顺利打开小程序。
分包之后,检查此前已写好的模块之间的跳转。页面路径已经变化,
可以通过预加载的方式帮助我们在进入某个页面时,由框架自动预下载可能需要的分包,提高后续页面进入的启动速度。
以下配置,帮助我们在进入首页后,加载全部的分包。也可以指定加载分包的某个页面,具体查看官网preloadrule
在使用扩展的 UI 组件,比如 uni-ui、uView 等给这些组件绑定 class 时,渲染并不能渲染成功。
只能在给他们包一层 自定义 calss 。避免全局的样式污染。
增加配置,允许小程序调用位置的权限接口。然后通过定义你需要哪些方法。
如果我们如果想在小程序中功能使用定位功能,则需要申请高德、腾讯或其他地图的 SDK ,通过拿到的经纬度查询详细地址信息。
不能获取到地址中文描述,只能拿到经纬度等其他参数,可以在通过第三方地图服务,获取详细的位置信息。
address 地址信息仅 APP 端支持。
可以拿到经纬度、位置名称以及详细的 address 中文描述。
通过分包后,降低了主包的大小。但也出现了一个问题就是主包不能复用分包的组件,很容易理解就是访问主包的页面时,分包还不一定加载。
通过对组件进行二次封装、三次封装。底层组件定义的属性、事件如果每层都定义接收,就很麻烦,
在 vue 中,通过属性 不然根元素承载这些属性、时间,然后通过 绑定到目标元素上。
在 uniapp 中,则是不可以的。他没有 这两个属性。
在 vue 中定义一个组件的输入、输出通过绑定值、然后监听抛出事件处理逻辑,
这样在调用组件时可通过绑定。
在 uniapp 中,则是不可以的。 小程序不支持
小程序端不支持绑定对象给 class、style
这样是不行的,渲染后的元素节点显示 object 。 不通过计算属性,直接在属性上绑定逻辑。
在需要适配的页面,元素增加样式。特有的变量
建议这种通用性设置,提供一个基础公共组件. 通过定义插槽 插入内容。这是一些公共的样式就不用每个页面去设置。
在配置的一些设置,颜色都是必须是十六进制颜色,不能是 rgb 或 rgba
通常手机顶部信号、电量等一些状态占据手机的部分位子。想让这部分区域也融入到我们的程序中。
配置
设置自定义导航样式,这样你的页面会以手机屏幕的最顶端开始。顶部标题、返回都需要自己去定义了。
直接在视图使用上的变量是访问不到的。向下面这样:
可以通过计算属性,或者提供一个变量值.
微信小程序里的组件之间的样式隔离,只需要增加选项配置,
微信官方文档说明 - 样式隔离
主要是小程序插件 plugin 的开发文档,在 中配置
然后在页面 login.vue 中使用组件
在配置,同一个插件不能被多个分包引入,直接放入主包中配置。
对于 uni 可调用的全局 API,可通过拦截器来批量处理逻辑,常用就是拦截请求,控制权限。
在 中调用拦截,定义拦截器在未注册时控制某些页面不可访问。
拦截器参数
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.xrbh.cn/tnews/2391.html