网易首页 > 网易号 > 正文 申请入驻

不需内测账号,带你体验微信小程序完整开发过程!

0
分享至

微信小程序还没正式发布就已经迅速成为大家讨论的焦点,那么大家可能觉得只有收到内测邀请才能体验小程序的开发流程,其实不然,大家都可以体验,下面就带大家一起了解。

下载微信 Web 开发者工具

首先,微信给我们提供了它自己的小程序集成开发工具,只需要到这个页面下载即可:

下载完成后,打开开发者工具,会有一个扫码登录界面。 用你的微信扫码就可以登录进来了, 然后开发者工具会帮我们创建一个默认工程,项目的文件结构如下:

所有的代码编辑以及运行预览都可以在这个开发者工具中进行。接下来咱们看看微信小程序的项目结构。

项目结构

如上图,首先在根目录中有三个文件 app.js, app.json, app.wxss。 其中 app.js 是程序主入口的脚本文件, app.json 是全局配置文件, app.wxss 是小程序的样式表文件。

先来看看 app.json :



这个配置文件中定义了两个节点, pages 是小程序的所有页面对应的路径, window 是小程序窗口的配置信息。

再来看看样式文件 app.wxss :

咱们先不用深究它具体定义了什么样式,只需要先了解项目结构即可。

接下来再来看看程序的主入口 app.js:

这里初始化了一个 App 对象,并且定义了三个方法 onLaunch , getUserInfo 和 globalData 。

先来看看 onLaunch :

首先 wx.getStorageSync 方法会获得本地的一个以 logs 为 key 的缓存数据。 传入这个方法的 logs 本身没有任何特殊含义,只是用于表示我们使用的缓存数据。 这个机制可以理解为和 iOS 的 NSUserDefaults 类似。

然后,我们向这个缓存数组中插入当前的日期 logs.unshift(Date.now()) 。 最后再调用 setStorageSync 方法将我们新的缓存内容写入到本地缓存中。

因为 onLaunch 方法是小程序的生命周期方法,所以在小程序启动的时候就会调用它,并将当前启动的日期记录并写入本地缓存中。 没错 onLaunch 整个方法就干了这件事儿。

我们再来看下 getUserInfo 方法,它通过调用 wx.login 和 wx.getUserInfo 两个微信平台的函数获取当前用户登录信息。

并传会给回调函数 cb:

至于最开始的 if 判断 if(this·globalData·userInfo) 咱们暂时不用深究,只看 else 部分即可。
这个就是小程序 index 页面的 UI 文件了,其实就是微信平台定义了一系列组件,最外层是

页面结构

了解完根目录的几个文件, 咱们再来看看页面文件, 正如咱们刚开始截图中看到的项目结构:

所有的页面都在 pages 文件夹中。 我们这个示例工程中有两个页面 index 和 logs。 还记得我们前面在 app.json 看到的页面配置吗:

正好对应上咱们现在看到的两个目录, 还要记得一点, pages 数组中的第一个元素会作为我们小程序的主页。 切记,index 页面之所以是首页,是因为它是 pages 里面的第一个元素, 而不是因为它的名称是 index。

我们来看看 index 页面的构成, index.js, index.wxml, index.wxss。 index.js 是页面的脚本文件, index.wxml 是页面的 UI 文件, index.wxss 是页面的样式文件。

先看一下 index.js:

getApp() 方法获取我们的 app 实例。 然后在看 onLoad 方法, 使用我们刚才提到的 getUserInfo 方法获取用户信息,并设置到 data 属性中。

bindViewTap 方法会绑定一个事件,这个事件调用 wx.navigateTo 方法。 这个方法其实就是页面跳转,从代码中也不难看出,跳转到了 logs 页面。

脚本文件就这些内容了,咱们继续再来看看 UI 文件,index.wxml:

还记得 container 么? 我们在最外层的 app.wxss 定义了它的样式。 它里面包含了两个 View。先来看看第一个:

首先 bindtap=“bindViewTap” 给这个 View 绑定了一个点击事件,也就是我们前面 index.js 对应的这个方法,用户点击这个 View 就会跳转到 logs 页面上。 然后这个 View 里面包含了一个 Image 和 Text, Image 的 src 属性设置为 userInfo.avatarUrl, 代表当前用户的头像, Text 中使用 userInfo.nickName, 代表当前用户的昵称。

这样, index 页面的整体逻辑就都完成了, 还有一个 index.wxss 样式文件,这个咱们就先略过。

再来看看第二个视图:

motto 其实就是我们在 index.js 中定义的一个属性:

它会在页面上显示一个 Hello World。

现在,我们切换到调试界面, 就可以看到小程序的主页了, 和我们刚刚描述的 UI 完全一样吧:

这里的用户头像和昵称是动态从你的登录状态中取到的。

然后我们在这里点击用户的头像,就会跳转到 logs 页面, 列出你每次登录小程序的时间点。

上传小程序

现在微信小程序的基本开发流程就给大家介绍完了,还有一个 logs 页面没介绍,但它和 index 的页面的基本思路都是一样的,咱们就不多赘述了。 开发完小程序后,我们需要把它部署到哪里呢? 相信大家也有同样的问题。 答案也很简单,切换到项目选项卡,然后点击上传按钮即可:

由于我的环境没有内测账号,所以在上传区域显示的是 项目未关联 AppID , 如果有了测试账号,就会显示你的 AppID 了。 目前只有内测账号才能够上传小程序。这就是唯一的差别了。没有内测账号不能上传,但完全可以在本地开发和测试。

小程序的这种上传方式可能会让大家觉得有些不同吧。 大家平常理解的 Web app 一般都需要自己搭建服务端,并且维护。

而小程序的这种托管方式,其实已经和我们开发一个原生 App 差不多了。

结尾

这次和大家一起,从头到尾完整的体验了一个最简单的小程序的整体结构以及开发思路。如果能找到合适的切入点,小程序这个平台还是能找到一些不错的机会的。

--END--

不管你是想要转行还是初学、进阶。如果你对Web前端感兴趣,那就进军程序员吧~

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
曾属史玉柱的巨人大厦将动工,已烂尾28年,土地使用权仅剩18年

曾属史玉柱的巨人大厦将动工,已烂尾28年,土地使用权仅剩18年

红星新闻
2025-02-18 16:26:12
张碧晨首晒与女儿合照,母女一起看烟花,小公主长势喜人像华晨宇

张碧晨首晒与女儿合照,母女一起看烟花,小公主长势喜人像华晨宇

柠檬有娱乐
2025-02-16 11:00:01
太惨了!白敬亭新剧开播遭截爆,湾湾集体开大爆猛料,商量好的?

太惨了!白敬亭新剧开播遭截爆,湾湾集体开大爆猛料,商量好的?

墨印斋
2025-02-18 17:27:28
撒贝宁被亲友坑惨!曝其堂哥欠债百万,多个部门介入,曝现场照片

撒贝宁被亲友坑惨!曝其堂哥欠债百万,多个部门介入,曝现场照片

裕丰娱间说
2025-02-18 13:04:21
老师傅:遇到恶犬千万别用脚踢,记住以下几点:直接制服疯狗!

老师傅:遇到恶犬千万别用脚踢,记住以下几点:直接制服疯狗!

百态人间
2025-02-18 16:02:04
2-5!1-2!意甲2队一夜全出局,极端情况:5队仅剩国米进欧冠16强

2-5!1-2!意甲2队一夜全出局,极端情况:5队仅剩国米进欧冠16强

侃球熊弟
2025-02-19 05:57:36
菲利克斯:红牌改变了本场比赛 更衣室里大家都很失望

菲利克斯:红牌改变了本场比赛 更衣室里大家都很失望

直播吧
2025-02-19 04:58:21
A-戴维斯93分13秒破门,是拜仁在欧冠中最晚帮助球队晋级的进球

A-戴维斯93分13秒破门,是拜仁在欧冠中最晚帮助球队晋级的进球

直播吧
2025-02-19 06:48:49
他每天吃3-4公斤黄油汉堡,8个月后,胆固醇直接“渗”出手指!!

他每天吃3-4公斤黄油汉堡,8个月后,胆固醇直接“渗”出手指!!

英国那些事儿
2025-02-10 23:23:24
董明珠感受下!小米中央空调来了 为何对标是大金不是格力:官方回应

董明珠感受下!小米中央空调来了 为何对标是大金不是格力:官方回应

快科技
2025-02-18 15:07:12
林允:每段爱情都危险,港媒曾报:林允为满足周星驰停经四个月

林允:每段爱情都危险,港媒曾报:林允为满足周星驰停经四个月

史纪文谭
2025-02-16 23:58:21
欧冠附加赛:拜仁3-2凯尔特人,进16强!戴维斯绝平,金玟哉送礼

欧冠附加赛:拜仁3-2凯尔特人,进16强!戴维斯绝平,金玟哉送礼

侃球熊弟
2025-02-19 05:46:36
通过睡眠来判断你是心火旺、肝火旺、痰火旺,还是阴虚火旺

通过睡眠来判断你是心火旺、肝火旺、痰火旺,还是阴虚火旺

今日养生之道
2025-02-16 21:12:20
对话宇树科技王兴兴:人形机器人,没有大家想象的那么复杂 | 钛媒体独家

对话宇树科技王兴兴:人形机器人,没有大家想象的那么复杂 | 钛媒体独家

钛媒体APP
2025-02-18 17:08:39
中国第一个全球高端豪华汽车集团诞生

中国第一个全球高端豪华汽车集团诞生

汽车K线
2025-02-18 09:43:51
站不起来了?台积电正式宣布,华为等中企集体沉默

站不起来了?台积电正式宣布,华为等中企集体沉默

初心科技
2025-02-18 23:46:36
中国新研究:这种性格的人,心脏病风险飙升3.8倍!

中国新研究:这种性格的人,心脏病风险飙升3.8倍!

李药师谈健康
2025-02-17 09:14:07
又大又白!西方老外看中韩游戏走不动道:大即正义

又大又白!西方老外看中韩游戏走不动道:大即正义

游民星空
2025-02-17 15:11:21
人体神奇的自愈力,读一遍受益终生

人体神奇的自愈力,读一遍受益终生

霹雳炮
2025-02-17 21:10:41
科技公司CEO怒批《哪吒2》:毒鸡汤烂片,共鸣的都是叫不醒的人

科技公司CEO怒批《哪吒2》:毒鸡汤烂片,共鸣的都是叫不醒的人

梦史
2025-02-17 14:33:35
2025-02-19 07:11:00
爱创乐育
爱创乐育
努力成为别人心中的大神
30文章数 134关注度
往期回顾 全部

科技要闻

马斯克发布"最聪明AI":号称碾压DeepSeekV3

头条要闻

10元1个螺母被认定为枪支散件 父子被刑拘获分案调查

头条要闻

10元1个螺母被认定为枪支散件 父子被刑拘获分案调查

体育要闻

曾遭遇两年欠薪,国足最新归化球员是他?

娱乐要闻

陈晓与陈妍希宣布离婚:今后各自安好

财经要闻

存款准备金率5%隐形下限能否突破?

汽车要闻

两种电池可选 小米YU7最大续航820km

态度原创

家居
教育
游戏
公开课
军事航空

家居要闻

自然人居空间 恬淡安舒

教育要闻

希望杯初中数学题,有好多同学认为题目有问题,其实并非如此

魂师对决:SP朱竹清返场抽取分析!这个月的压力又是陡然剧增!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

北约秘书长:欧洲准备为乌克兰提供安全保障

无障碍浏览 进入关怀版