微信小程序开发系列-02注册小程序

上一篇文章,创建了一个最小的小程序,但是,还有3个疑问没有弄清楚,还是基于demo1工程,这篇文章继续探索。

  1. 当前的目录结构是否是完备的呢?(虽然小程序可以运行起来)
  2. app.js文件内容还是空的?实际也能运行起来,看来微信小程序平台没有针对app.js是否为空做强制约束。那么小程序的启动机制是怎样的呢?
  3. app()函数要怎么使用?它的作用是什么?

目录结构

根据官方文档描述:

小程序包含一个描述整体程序的 app 和多个描述各自页面的 page

一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

请添加图片描述

一个小程序页面由四个文件组成,分别是:

请添加图片描述

对比下,当前demo1工程的目录结构

请添加图片描述

缺少了app.wxss、index.wxss、index.json。WXSS主要作用是增加样式,没有的情况下只是页面效果不好看而已,所以对于这个最小工程来说,没有也是可以的,并不影响小程序的正常启动。另外,index.json也只是丰富index页面的配置,对于最小工程来说也是可以暂时没有的。需要特别说明下,当小程序更复杂后,这些文件肯定是需要的啦!

“当前工程的目录结构是否是完备的呢?(虽然小程序可以运行起来)”—这个问题已经解决了。

注册小程序

每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 实例,获取App上的数据或调用开发者注册在 App 上的函数。

官方对App函数的解释太简单了,只是停留在“你按照我说的做就行了,至于为什么你不需要知道”这种层面。为什么调用app()函数就是注册一个小程序,我比较好奇是怎样的实现原理?随着后续学习和理解的深入再来解决这个问题。

App() 必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。

App(Object object)

请添加图片描述

App函数的参数的官方说明如下:

请添加图片描述

在demo1工程中,我在app.js中再添加如下代码:

App({
   
  onLaunch(options){
   
    console.log("onLaunch")
  },
  onShow(options){
   
    console.log("onShow")
  },
  onHide(){
   

  },
  onError(){
   

  }
})

当前demo1中的app.json的配置只有“Pages”和“sitemapLocation”,接下来为了让小程序展示效果更好点,可配置“window”和“tabBar”。

相关推荐

  1. 程序--注册时获取头像

    2023-12-23 00:06:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-23 00:06:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-23 00:06:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-23 00:06:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-23 00:06:01       18 阅读

热门阅读

  1. Unity-时间

    2023-12-23 00:06:01       39 阅读
  2. etcd是什么

    2023-12-23 00:06:01       34 阅读
  3. NLP中的嵌入层

    2023-12-23 00:06:01       38 阅读
  4. 控制中存在的一些问题(注意事项)

    2023-12-23 00:06:01       28 阅读
  5. 基于改进的粒子群算法的双机器人路径规划

    2023-12-23 00:06:01       42 阅读
  6. Android 13 - Media框架(25)- OMXNodeInstance(二)

    2023-12-23 00:06:01       36 阅读
  7. 基于YALMIP求解含SOP+阶锥的配电网重构附Matlab代码

    2023-12-23 00:06:01       42 阅读
  8. 单元测试优化实践总结

    2023-12-23 00:06:01       33 阅读
  9. 使用MATLAB中的`xlswrite`函数将数据写入Excel文件

    2023-12-23 00:06:01       46 阅读
  10. 傅里叶变换全息图 Matlab

    2023-12-23 00:06:01       46 阅读
  11. Python---案例-多任务版TCP服务端程序开发

    2023-12-23 00:06:01       34 阅读