微信小程序入门教程之一:初次上手

小程序已经成为国内前端的一个重要业务,跟Web和手机App有着同等的重要性。小程序开发者供不应求,市场招聘需求极其旺盛,企业都抢着要。

尽管如此,小程序的教程却很缺,要么是不够系统,要么就是跳跃性太大,很多关键的地方寥寥数语,初学者摸不着头脑。我自己学的时候,就苦于找不到好一点的教程。

本文就是我的小程序学习笔记,整理成教程的形式,希望对于初学者有用。需要学会的主要知识点,我都会讲到,我的目标是你读完这个教程,就能学会怎么写小程序。

考虑到很多同学并没有开发经验,小程序是他们接触的第一个开发领域。我会讲得比较细,希望新人也能没有困难地阅读这个教程。由于内容比较多,这个教程将分成四次连载。

学习小程序之前,先简单说一下,它到底是什么。

由于小程序基于网页技术,所以学习之前,最好懂一点网页开发。具体来说,下面两方面的知识是必需的。

(1)JavaScript语言:懂基本语法,会写简单的JS脚本程序。

(2)CSS样式:理解如何使用CSS控制网页元素的外观。

此外,虽然HTML标签和浏览器API不是必备知识,但是了解浏览器怎么渲染网页,对于理解小程序模型有很大的帮助。

总的来说,先学网页开发,再学小程序,是比较合理的学习途径,而且网页开发的资料比较多,遇到问题容易查到解决方法。但是,网页开发要学的东西太多,不是短期能掌握的,如果想快速上手,先学小程序,遇到不懂的地方再去查资料,也未尝不可。

申请完成以后,你会得到一个AppID(小程序编号)和AppSecret(小程序密钥),后面都会用到。

开发者工具支持Windows和MacOS两个平台。我装的是Windows(64位)的版本,这个教程的内容也是基于该版本的,但是MacOS版本的操作应该是完全一样的。

点击右侧的+号,就跳出了新建小程序的页面。

如果直接新建小程序,会生成一个完整的项目脚手架。对于初学者来说,这样反而不利于掌握各个文件的作用。更好的学习方法是,自己从头手写每一行代码,然后切换到"导入项目"的选项,将其导入到开发者工具。

导入时,需要给小程序起一个名字,并且填写项目代码所在的目录,以及前面申请的AppID。

下面,就请大家动手,跟着写一个最简单的小程序,只要五分钟就能完成。

第一步,新建一个小程序的项目目录。名字可以随便起,这里称为wechat-miniprogram-demo。

你可以在资源管理器里面,新建目录。如果熟悉命令行操作,也可以打开WindowsTerminal(没有的话,需要安装),在里面执行下面的命令,新建并进入该目录。

>mkdirwechat-miniprogram-demo>cdwechat-miniprogram-demo第二步,在该目录里面,新建一个脚本文件app.js。这个脚本用于对整个小程序进行初始化。

app.js内容只有一行代码。

App({});上面代码中,App()由小程序原生提供,它是一个函数,表示新建一个小程序实例。它的参数是一个配置对象,用于设置小程序实例的行为属性。这个例子不需要任何配置,所以使用空对象即可。

第三步,新建一个配置文件app.json,记录项目的一些静态配置。

app.json文件的内容,至少必须有一个pages属性,指明小程序包含哪些页面。

{"pages":["pages/home/home"]}上面代码中,pages属性是一个数组,数组的每一项就是一个页面。这个示例中,小程序只有一个页面,所以数组只有一项pages/home/home。

pages/home/home是一个三层的文件路径。

第四步,新建pages/home子目录。

$mkdir-ppages/home然后,在这个目录里面新建一个脚本文件home.js。该文件的内容如下。

Page({});上面代码中,Page()由小程序原生提供,它是一个函数,用于初始化一个页面实例。它的参数是一个配置对象,用于设置当前页面的行为属性。这里是一个空对象,表示不设置任何属性。

home.wxml的内容很简单,就写一行helloworld。

helloworld到这一步,就算基本完成了。现在,打开小程序开发工具,导入项目目录wechat-miniprogram-demo。如果一切正常,就可以在开发者工具里面,看到运行结果了。

点击工具栏的"预览"或"真机调试"按钮,还可以在你的手机上面,查看真机运行结果。

上一节的home.wxml文件,只写了最简单的一行helloworld。实际开发中,不会这样写,而是要加上各种标签,以便后面添加样式和效果。

小程序的WXML语言提供各种页面标签。下面,对home.wxml改造一下,加上两个最常用的标签。

helloworld上面的代码用到了两个标签:

标签表示一个区块,用于跟其他区块分隔,类似HTML语言的

标签。表示一段行内文本,类似于HTML语言的标签,多个标签之间不会产生分行。

注意,每个标签都是成对使用,需要有闭合标记,即标签名前加斜杠表示闭合,比如的闭合标记是。如果缺少闭合标记,小程序编译时会报错。

由于我们还没有为页面添加任何样式,所以页面的渲染效果跟上一节是一样的。后面添加样式时,大家就可以看到标签的巨大作用。

总结一下,这个示例一共有4个文件,项目结构如下。

|-app.json|-app.js|-pages|-home|-home.wxml|-home.js这就是最简单、最基本的小程序结构。所有的小程序项目都是这个结构,在上面不断添加其他内容。

这个结构分成两层:描述整体程序的顶层app脚本,以及描述各个页面的page脚本。

顶层的app.json文件用于整个项目的配置,对于所有页面都有效。

下面,改一下前面的app.json,加入window属性。

{"pages":["pages/home/home"],"window":{"navigationBarBackgroundColor":"#ff0000","navigationBarTextStyle":"white","navigationBarTitleText":"小程序Demo"}}上面代码中,window属性设置导航栏的背景颜色为红色(#ff0000),文本颜色为白色(white),标题文字为"小程序Demo"。

开发者工具导入项目代码,就可以看到导航栏变掉了。

除了窗口的样式,很多小程序的顶部或尾部,还有选项栏,可以切换到不同的选项卡。

(完)

业余草说:

迫不及待的想看后面的连载内容了!

Spongecaptain说:

对我来说知道小程序源码如何编写的大致逻辑就足够了

希月说:

shanquan说:

微慕说:

不错的入门教程,期待连载

Wh0am!说:

前两天也写了个demo试试,确实上手挺简单的,再加上免费云API,数据库调用也足够一般开发使用。希望可以多讲讲原理,跟当前的Vue、react之类的对比看。

RickeyGong说:

期待连载

Three-uncle说:

thosefree说:

阮一峰老师做的“小程序入门教程之一---初次上手”那张图片有点辣眼睛啊囧

Jerrychung说:

期待后续

.neter菜猪说:

通俗易懂,支持一下!!!

KlausJ说:

neko说:

太棒啦

wonpn说:

赞,很有用的入门教程,期待后续。

恩珠说:

期待连载嘎嘎

kaba说:

UncaughtReferenceError:defineisnotdefinedathome.js:1

对不起,之前我提出的在macOS下编译报错的问题,是我自己的问题。不要意思,打扰了。

Anne说:

什么时候更新下一期教程

山前说:

对于腾讯这样一个企业,维护和发展一个巨大的行业标准,实在是令人不信任。不管是技术还是非技术层面

Rivalsa说:

小程序还是挺不错的,省去了很多麻烦,但也有不好的地方,就是自己的业务受制于第三方。

Thinker说:

对于从入门就学小程序的我来说,阮一峰的教程让我看到了不一样的一个角度,不管怎么说吧,学东西其实方式只是一个途径,过程才是需要自己不断地去体会

jiaonilulu说:

肖说:

又到周五了,我是刷周刊过来的,意外收获,期待连载

landius说:

在标题七,九中间少了个八?

阮一峰说:

@landius:

谢谢指出,标错了,改过来了。

ew说:

现在大部分都是用框架开发小程序,react用tarovue用uni-app

节点说:

初学者一开始就从完整的项目脚手架学习,的确会头大!拆分开从头创建每个文件、手写每行代码是很有必要的

菊部说:

最好是设立个专栏吧大佬

Can说:

兔子说:

好详细通俗易懂继续往下看

ranel说:

Mac更新系统后的bug

luseike说:

多个text会产生换行

王军伟说:

谢谢阮老师。写的非常好,小白入门必要的信息不多不少。特别是对基础的这几个文件说明的非常容易理解。

玛蒂蒂说:

UncaughtReferenceError:defineisnotdefinedathome.js:1

我也是,请问怎么解决这个问题

吴杭说:

引用王军伟的发言:谢谢阮老师。写的非常好,小白入门必要的信息不多不少。特别是对基础的这几个文件说明的非常容易理解。

良心教程,入门必备!!

Lucy说:

谢阮老师。写的非常好,小白入门必要的信息不多不少。特别是对基础的这几个文件说明的非常容

THE END
1.小学教育靠家长?老师精力有限!5个免费学习APP来帮忙!学习方法家长必顶部 首页首页 小学教育靠家长?老师精力有限!5个免费学习APP来帮忙!学习方法 家长必读 学霸秘籍 2024-12-19 00:00 · 0次播放 发布于:江西省 拳击那点事 +订阅 +1 评论 全部 还没有人评论过,快来抢首评 写评论相关推荐 查看更多精彩内容 https://m.sohu.com/a/839255167_100114195
2.网上课程免费学软件排行榜前十名初中课程同步学习 2023-01-10 立即下载 十大相关软件专辑 免费课程app有哪些?好用的免费课程软件推荐小学生免费课程软件免费课程教学软件小学到高中免费课程软件可以免费学课程的软件初中数学免费课程软件专升本网上课程免费学软件免费课程app高中免费课程软件免费英语课程软件免费学画画网课app免费的课堂教学app免费的课程软件https://m.pianwan.com/s/zj-2528910
3.2024年十大学习软件app教育app哪个好世纪超星于2016年开发的集移动教学/移动学习/移动阅读/移动社交为一体的免费应用程序,基于微服务架构打造的课程学习/知识传播与管理分享平台。 查看 91.3 4 百度文库(百度在线网络技术(北京)有限公司) 推出于2009年,百度旗下,国内知名的文档与知识服务平台,专注于教育/PPT/专业文献/应用文书等领域。 https://www.cnpp.cn/china/list_6278.html
4.iKcamp英语学习小程序源码免费下载开源英语学习游戏资源"iKcamp英语学习小程序源码免费下载"所涉及的知识点主要集中在小程序开发领域,特别是关于教育和英语学习的小程序应用。这通常包括以下几个方面: 1. **小程序开发环境搭建**:开发微信小程序首先需要安装微信开发者工具,这是一个集成了开发、调试、预览、发布等功能的一体化平台。开发者需要熟悉这个工具的使用,包括项目https://download.csdn.net/download/unbelievevc/80760696
5.4+微讲师V2.8.4开源全解密版+小程序前端,支持VIP免费学习的【该版本不需要重新发布小程序】 1、手机端增加今日学习时长和累计学习时长显示,可在个人中心~学习时长里查看。 2、支持VIP免费学习的课程,可自由控制课程详情页仅显示开通VIP按钮、仅显示购买课程按钮或同时显示开通VIP和购买课程按钮,在后台基本设置~手机端显示里设置。 https://www.wazyb.com/13897.html
6.Hi现场小程序来袭,赶紧学习下如何跟公众号关联吧!Hi现场3、晚上10点前关联,通过率更高哦! 六、申请资料填写完成后,审核通过,小程序显示已关联 系统将自动向公众号粉丝推送关联成功消息,打开公众号资料页,你就会发现多出了一栏【相关小程序】,点击消息即可跳转至小程序。 如果你完成以上几步,恭喜你已经成功关联上Hi现场小程序啦! Hi现场https://www.hixianchang.com/info/article-38734.html
7.强烈推荐!七款不花钱英语学习小程序今天来分享七款免费的英语学习小程序,全免费,无广告,不占内存,包含绘本阅读、分级阅读、校内教材听读、语法学习、自然拼读学习等等。 一、卷卷有声绘本,市面上的英文分集都可以在上面找到,有RAZ、牛津树、红火箭、海尼曼、培生、I can read系列超级全,除此之外还有经典的英文故事,比如大红狗、小猪佩奇等等,资源太https://m.dianping.com/ugcdetail/147518202?sceneType=0&bizType=29&msource=baiduappugc
8.有效基于微信小程序的学生学习管理系统设计与实现.docx有效基于微信小程序的学生学习管理系统设计与实现.docx,3 有效基于微信小程序的学生学习管理系统设计与实现 摘要 随着越来越快的科技进步的脚步,科技不仅仅要满足人们的基本需求,如何让用户更便捷的满足需求已经成为 主旋律。当学生在学校学习任务和自我计划学习来回切换https://max.book118.com/html/2022/1007/5021130040010001.shtm
9.全渠道全嘲电商系统,免费生成品牌小程序店堂主百学习快速生成微信/百度/小红书/抖音小程序,搭建全渠道全场景电商系统,生成独立的分销商城,链动2+1多级分销系统,对接视频号小店实现短视频带货专业技术助力企业数字化营销,帮助200万品牌实现持续增长https://www.baixuexi.com/
10.基于微信小程序的系统设计文献综述6000字.docx5229282.4基于微信小程序开发每日学习打卡的相关研究 68759总结 717933参考文献 7【内容摘要】随着国家经济实力的增强以及教育水平的发展,人们可以获得更多的受教育的机会,但越来越多的受教育群体进入校园,学生的管理成为了当今高校所需要面临的重要问题,学生管理中的课堂出勤,是评价一个学生的重要系数之一,更是从事教学https://www.renrendoc.com/paper/298163885.html
11.学习打卡小程序小程序热启动钉钉帮助中心为您提供学习打卡小程序相关问题的回答,更多学习打卡小程序问题相关解答可以注册咨询钉钉人工客服。https://www.dingtalk.com/qidian/help-keyword-9628.html
12.小程序介绍+接入mPaaS小程序并实现启动Android版(二)学习开发者学堂课程【mPaaS 小程序开发实战:mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)】学习笔记,与课程紧密联系,让用户快速学习知识。 课程地址:https://developer.aliyun.com/learning/course/301/detail/3506 mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二) https://developer.aliyun.com/article/1083580
13.学编程也可以很简单!每个新手都应该体验的四款小程序爱范儿当然,无论你是不是计算机专业的学生,如果你想要学好计算机,就必须利用好足够丰富的线上学习资源,我们不妨利用这个暑假利用下面几款小程序学习学习,相信我们都可以成为计算机大神。 想要自学编程,教程是少不了的,但面对那本厚厚的《XX 从入门到精通》,许多人又会想起高三时被课本练习支配的恐惧,不由得望而却步。对于https://www.ifanr.com/minapp/1064435
14.考试宝免费文档下载 100 万+海量资料库,全面覆盖职业资格考试,持续更新,紧随考试动态 多端同步练习, APP/小程序/网页 练习记录同步 支持跨平台使用,无缝切换设备,练习记录实时同步 云端数据存储 安全可靠的云端存储,保障您的学习数据安全和隐私 下载APP 为广大个人用户和企业用户 提供一站式学习考试平台 http://kaoshibao.com/
15.李宁微信小程序视频教程(UI+API+WeUI)共90课时本课程让学员学习微信小程序的开发过程,并通过完整的实例来完善这一过程。 课程简介: 征服微信小程序视频教程 微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 Q:小程序是什么?它有着什么样的功能? https://edu.51cto.com/course/7334.html
16.微信小程序开发入门全攻略:零基础也能快速掌握关键技能本文详细解析微信小程序开发的必备技能及学习路径,帮助零基础的读者快速掌握关键技能,顺利开发出属于自己的微信小程序https://www.youzan.com/cms/article/21530.html
17.7个超实用的微信小程序,满足工作生活学习各种需求免费咨询 我们每天使用微信,其实上面隐藏了很多功能。下面给大家推荐7个超实用的微信小程序,满足工作、生活、学习各种需求。 01*厕所在哪儿 史上最强大的找厕所应用,收录了全国范围超过9千万,最全面最完整的厕所数据,根据你的定位,快速找到离您最近的厕所,然后通过地图导航过去。人有三急,出门在外真的很有安全感。https://aiqicha.baidu.com/qifuknowledge/detail?id=10122872605
18.腾讯ISUX丨超全面的微信小程序初体验(上)优设网@腾讯ISUX- 练小习:这段时间有幸加入了一个关于微信小程序的项目开发组,从无到有的根据文档自行学习了小程序的开发过程,前面已经有几位前辈的文章珠玉在前,我这里就先从前端界面的开发方面谈一谈小程序以及我所遇到的问题吧。 设计师来这儿看:《规范抢先看!微信小程序的官方设计指南和建议》 https://www.uisdc.com/isux-weapp-solution-1