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

小程序已经成为国内前端的一个重要业务,跟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.微信小程序学习英语,这些小程序总有一款适合你微信小程序自问世以来,很多开发者都在教育端发力,尤其是针对英语学习的用户。市面上有很多学习英语的小程序,那么多的小程序,我们该如何选择最适合自己的呢?新应用小编收集整理了十几个小程序,相信总有一款适合你。 微信小程序的设计理念就是用完即走,因此学习英语的小程序也鼓励用户利用碎片时间,比如等地铁、等公交https://m.bjhwtx.com/h-nd-199302.html
2.微信有哪些好用的小程序?19款好用的微信小程序手机软件软件教程微信是当今中国最大手机社交聊天软件,在这里你可以遇见各种各样的人,而微信为了留住用户推出了小程序功能,在微信小程序中随意搜索,你会发现各种各样的微信小程序。今天的微信小程序教程中,小编就给大家整理了19款好用的微信小程序,那么,微信有哪些好用的小程序?一起来看看吧! https://www.jb51.net/softjc/582706.html
3.微信小程序用什么软件开发微信小程序的开发可以采用多款软件,主要包括微信官方的微信开发者工具、Visual Studio Code(VS Code)、WebStorm等。这些工具各有特色,为不同开发者的需求提供便利。以微信官方的微信开发者工具为例,它是一款全面、便捷的开发工具,专为微信小程序设计。微信开发者工具提供了一个集成的开发环境,支持代码编辑、项目配置、https://www.informat.cn/qa/268482
4.约课小程序收款开通独立的微信支付收款商户号,在线收款金额不通过酷课,由微信支付直接结算至你的对公账户。 个性自定义课表类别、学员端小程序导航菜单、主题颜色。大部分介绍信息都支持图文混排,和嵌入微信视频号的视频。 设置诸如约课时间限制、取消时间限制、约课频次限制、会员卡请假限制等众多自定义设置应有尽有。 https://kukecloud.com/
5.推荐一个小程序程序员编程王随时随地学软件编程沐雪架构师《程序员编程王》还有个一非常好的地方就是,不仅仅有微信小程序,还有QQ小程序,头条小程序,最大的方便了程序员随时随地学习编程! QQ小程序: 微信小程序:https://www.cnblogs.com/puzi0315/p/12842333.html
6.20款小学阶段免费学习小程序推荐适合小学生学习的免费小程序,轻便、即用、无需下载安装,完全免费!方便孩子们随时随地学习,涵盖小学阶段的语文、数学和英语。 语文学习小程序 识字:提供小学汉字学习,包括最简洁的字型、读音、笔顺、含义和组词教学。 口算出题:在线生成看拼音写词语、看词语写拼音,自动出题,适合小学同步练习。 拼音出题器:在线生成https://mbd.baidu.com/newspage/data/dtlandingsuper?nid=dt_3870922246806434604
7.微信小程序毕业设计根据此问题,研发一套微信小程序的学习交流平台,既能够大大提高信息的检索、变更与维护的工作效率,也能够方便微信小程序的管理运用,从而减少信息管理成本,提高效率。 该微信小程序的学习交流平台采用Uni-weixin、SpringBoot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据https://blog.csdn.net/my_qq_1808614304/article/details/142726423
8.腾讯ISUX丨超全面的微信小程序初体验(上)优设网@腾讯ISUX- 练小习:这段时间有幸加入了一个关于微信小程序的项目开发组,从无到有的根据文档自行学习了小程序的开发过程,前面已经有几位前辈的文章珠玉在前,我这里就先从前端界面的开发方面谈一谈小程序以及我所遇到的问题吧。 设计师来这儿看:《规范抢先看!微信小程序的官方设计指南和建议》 https://www.uisdc.com/isux-weapp-solution-1
9.学习微信小程序的书有哪些微信开发这是一本从零学习微信小程序开发的专业书,不需要额外的专业基础就能让你读懂这本书。对于初学者,该书可以作为一本系统的学习教程来使用;对于有经验的前端开发者,这本书可以作为微信小程序开发的参考书来阅读。 适用人群:该书面向的是对移动互联网应用开发有兴趣、有意入门或精通微信小程序开放的人群,包括大学学生https://www.php.cn/faq/446136.html
10.微信最实用的17个小程序!网友:“第1个第7个已经离不开了”无限君:微信作为一款国民级应用,有很多强大的小程序却不为人所知,下面我们来了解一下微信都有哪些使用且强大的小程序? 1.车来了 以前无限君都是下载公交车的APP查询,但手机应用安装的实在太多了,主要就查查公交车线路、首发车和末班车、以及票价,"车来了"这款小程序足以应付,目前这款小程序以覆盖全国70%的城市https://www.jianshu.com/p/42633e433b99
11.想在手机上学双拼?试试这个微信小程序:双拼练习双拼键位图原本是提高打字效率的必要记忆,却被看作成了像记化学元素一样的背诵,让新手望而却步。于是本人在开发一个练习平台后,又决定开发一个微信小程序,让学习双拼不再无从下手。https://sspai.com/post/40624/
12.微信小程序大全微信小程序有哪些即速商店-微信小程序商店,覆盖各个行业的优质小程序,为微信小程序开发者与运营者提供参考案例,致力于为用户提供优质的微信小程序体验。http://shop.jisuapp.cn/wechat/
13.如何制作微信小程序?需要哪些软件?如何入门微信小程序开发,有哪些学习?这些问题都是大家经常问到的问题,想起自己刚接触微信小程序时,https://www.zhihu.com/question/349311461/answer/3181403366
14.中国共产党新闻网"学习FM"微信小程序正式上线独家稿件中国共产党新闻网北京9月6日电 (杨亚澜)为方便各级党组织和广大党员干部群众学习,近日,由中国共产党新闻网策划制作的“学习FM”微信小程序正式上线。 “学习FM”微信小程序是中国共产党新闻网开发的有声新闻产品,旨在为广大党员干部在主题教育活动中深入学习习近平新时代中国特色社会主义思想、收听习近平原声音频提供便利http://cpc.people.com.cn/n1/2019/0906/c164113-31340855.html