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

小程序已经成为国内前端的一个重要业务,跟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.火爆外网的App开发经验:只需4款工具,0编程基础也能搞定0编程基础火爆外网的App开发经验:只需4款工具,0编程基础也能搞定 0编程基础开发App!国外一位博主分享了自己的App开发经验:在没有任何设计或编码经验的情况下,全程只靠4款工具,成功上架一个iOS App,引发众人围观。#AI在抖音 #软件开发 #人工智能 #AI编程 #APP开发https://news.sina.cn/ai/2024-12-16/detail-inczrzsp5745018.d.html?cmntg=1
2.火爆外网的App开发经验:只需4款工具,0编程基础也能搞定火爆外网的App开发经验:只需4款工具,0编程基础也能搞定量子位 北京 0 打开网易新闻 体验效果更佳打开的阀门,真的太解压了 彩虹搞笑配音 1265跟贴 打开APP 工业切纸机虽然力量很大,但高度是有限的 全球不知道 485跟贴 打开APP 大姐晒自己工作过程,手法惹得网友爆笑,可千万别让老板看到! 搞笑老狗子 755跟贴 https://m.163.com/v/video/VVIKD01KI.html
3.0编程基椽发App!#只用4款工具开发App# 0编程基础开发App!国外一位博主分享了自己的App开发经验:在没有任何设计或编码经验的情况下,全程只靠4款工具,成功上架一个iOS App,引发众人围观。 0条评论|0人参与网友评论 登录|注册发布 相关新闻 人形机器人产业链深度梳理 12月15日 00:22| 新闻眼机器人产业链4 未来数据集团附属https://t.cj.sina.com.cn/articles/view/6105753431/m16bee6757033018rtu
4.免費線上課程MicrosoftLearnOffice 365 快速上手:郵件服務 Level 200 在這邊會為大家介紹的是 Outlook 2013 連線 / Web App 收發郵件、手機連線 Exchange 信箱,以及自動郵件回覆功能,是不是很實用呢?快來看看吧! Office 365 快速上手:網站與部落格 Level 200 可能比較少人知道 Office 365 的網站跟部落格服務,快一起來學習如何使用吧! Offihttps://technet.microsoft.com/zh-tw/mt695654
5.免费学编程app软件大全手机学编程的软件下载免费自编程狮app等级:大小:35.37M更新时间:2024-11-28 直接下载简要:编程狮app是一款专业的编程入门学习软件,可以帮助初学者入门学习,以及提升程序员的开发效率。在这里软件目前已提供1000+常见编程语言教程和免费技术文档,还有多种目前热门编程语言包括HTML、Python、CSS、JavaScript、jQuery https://www.ddooo.com/zt/xbcapp.htm
6.手机编程软件app下载安装手机编程工具大全3322软件站为用户整理了手机编程工具大全,包括c4droid、Python编译器、Pydroid3等多款好用的编程app。这些软件可以帮助用户在手机上直接编辑运行C/C++程序,并且支持代码高亮、语法检查等功能。为了帮助喜爱编程的小伙伴进行学习,还有Java编程狮、Python编程狮、扇贝编程、猿编程、编程狮app等。这些应用提供了很多免费教程和https://m.32r.com/zt/sjbcgj/
7.从零到一:全面掌握APP制作软件开发的全过程随着移动互联网的迅猛发展,APP已成为人们日常生活中不可或缺的一部分。无论是购物、社交、娱乐还是工作,APP都扮演着重要角色。因此,APP制作软件开发也成为了一个热门行业。本文将带领读者从零开始,全面掌握APP制作软件开发的全过程。 二、基础知识篇 了解APP开发的基本概念 https://www.pbids.com/aboutUs/pbidsNews/1861309725058109440
8.python编程教程app下载python编程教程安卓版下载[考试学习]python编程是一款[python编程入门学习App,致力于帮助初学者入门及提升程序员开发效率,目前已提供1000+常见编程语言教程和免费技术文档,涵盖前端开发/Python/Java/PHP等热门编程语言。是学习python编程不过多得的工具。提供的内容全面,讲解精深,功能实用。是程序员的开发手册,学编程,从这里开始! Python已超https://www.downza.cn/soft/10441347.html
9.我要自学网我要自学网-免费视频教程,提供全方位软件学习,有3D教程,平面教程,多媒体制作教程,办公信息化教程,机械设计教程,网站制作教程,电脑培训https://www.51zxw.net/
10.ASP.NETCore适用于.NET的开源Web框架.NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 ASP.NET Core 通过专门用于生成 web 应用的工具和库扩展了.NET 开发人员平台。 更深入发掘: 什么是 ASP.NET Core? 了解ASP.NET Core 通过我们的教程、视频课程和文档,了解 ASP.NET Core 提供的所有功能。 https://asp.net/
11.www.scmczz,ji,zz,ji,zz,学狗交配 现在的三级片 09.60MB 245好评 人人操人人看人人相玩 德国毛多美女欲火视频app下载安装免费无限看-丝瓜ios苏州晶体藏族 09.86MB 2430好评 翘臀av在线 骚货淫骚 操千鹤的开发日记动画第一季免费播放策驰影视 76.68MB 120好评 啊啊嗯用力艹我让我喷水 《林予曦吃http://www.scmc-xa.com/xxxr/419177.shtml
12.2024年新版python开发从入门到精通零基础小白自学全套视频教程01、职场人必学的Python技能中文视频课 02、Python+人工智能就业班中文视频课 03、Python全栈开发学习中文视频课 04、Python全栈开发学习中文视频课2 05、MSB全网最新Python实战中文视频课 06、Python原版精品中文视频课 07、Python从零搭建数字货https://mp.weixin.qq.com/s?__biz=MzU5ODA1NDM5Mg==&mid=2247494301&idx=6&sn=24c0502badb4e8c46d19e6d5998af56f&chksm=ffe61d784e10d0e9c4ade03cd27426a84545adf57165bffe8f44d5ac7267d766a66c0f5bd11f&scene=27
13.扣丁学堂千锋教育旗下IT在线教育平台全栈软件测试技术视频教程详解 免费91212 热门 Unity3d 游戏图形学从理论到实战精讲 免费79874 推荐 编程艺术之C语言基础篇 免费191100 热门 HTML+CSS基础入门案例详解 免费207926 资深名师服务团队 更多名师> 千锋扣丁-威哥 Java&JavaEE&Android 14年以上软件开发及教学经验,中国软件行业协会认证专家。曾服务于中软、http://www.codingke.com/
14.可可英语APP下载iPhone版下载Android版下载 海量优质英语学习节目,离线收听省流量 英文广播、影视歌曲、口语发音、新概念英语 语音同步双语字幕,超过30万篇有声资源,你想要的这里应有尽有。 多种题材的听说训练,助你实现英语梦 九宫格游戏练听力,单句听写消灭听力死角 智能实时口语评分,逐句跟读打分,助你攻克“开口”难关 https://www.kekenet.com/topic/app/
15.菜鸟教程ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 【学习 Kotlin】 在Java 虚拟机上运行的静态类型编程语言,Android 官方开发语言 XML 教程 【学习 XML】 XML 被设计用来传输和存储数据 【学习 DTD】 DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块 【学习 XML DOM】https://www.runoob.com/
16.app开发自学教程60秒读懂世界本文为您提供了一篇全面深入的APP开发自学教程,涵盖了从基础知识学习到实际项目开发的整个过程。遵循SEO标准,文章中合理设置了关键词密度,帮助您更轻松地掌握APP开发技能。 一、引言 随着移动互联网的飞速发展,APP已成为人们日常生活的重要组成部分。越来越多的人希望自学APP开发,实现自己的创意和梦想。本文将为您提供一https://blog.yyzq.team/post/352114.html
17.西东网视频教程西东视频教程网——学什么,看什么!10000个视频教程免费在线学习,英语、计算机、经济管理、人文科学、减肥瘦身……勿需等待,马上观看!!http://www.xidongv.com/
18.APP开发教程零基础学习APP开发免费提供IOS开发教程包括:xcode入门,app开发基本技能,代码分步讲解,教学视频,觉见面试题分析,在线提问等功能见于国内大部分公司在ios平台依然以xcode + objective-c语言为主,因此本教程所有示例都基于objective-c语言,特别适合国内开发者入门自学。基于苹果最新swhttps://apps.apple.com/by/app/app%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B-%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0app%E5%BC%80%E5%8F%91/id1451258555?see-all=developer-other-apps
19.学手机app制作需要什么基础知识?如何快速学会手机app制作?4.待你有了以上三种基本语言技能之后,你就可以正式开始学习app开发了。首先你要看官方文档,这里面详细https://www.hxsd.com/wenda/16606/
20.php中文网教程手册视频php中文网提供大量免费、原创、高清的php视频教程,并定期举行公益php培训!可边学习边在线修改示例代码,查看执行效果!php从入门到精通,一站式php自学平台!https://www.php.cn/
21.app傻瓜式开发自学教程移动应用已经成为人们生活的重要组成部分。虽然市场上已经有很多成熟的应用,但是如果你有自己的想法并且想将其实现,那么你可以通过学习App开发技术来实现。本文将介绍如何通过傻瓜式开发自学教程来学习App开发。 傻瓜式开发自学教程的原理是将复杂的技术讲解转化为简单易懂的语言。 这种方法旨在使初学者能够理解技术的基本http://www.appbyme.cn/info/app-sha-gua-shi-kai-fa-zi-xue-jiao-cheng-99020.html
22.音乐教程APP的开发为用户提供了一个轻松学习音乐的在线平台相信很多人都喜欢听那些动听的歌曲,但在现实生活中,动听的歌曲往往会吸引人们的注意力。人们相信,音乐的魅力已经成为这个时代人们的需求。随着音乐市场的扩张,相关产品项目应运而生。例如,音乐教程开发可以捕捉https://www.unisoft.cn/service/app/6086ff3e23c26d7c.html
23.虎课永久vip免费版虎课(职业教育自学平台)app下载v2.37.1【跟着老外学设计】海外高端设计教程,涵盖CG动画、平面设计、创意绘画、职业发展等,中英文双语字幕,自学无烦恼,不用翻墙也能了解行业设计动态! 【职业办公】不仅包括职场常用PPT、EXCEL、WORD等基础办公软件,更有金融财会、考试认证、求职应聘、线下实体店管理等实站技能,全方位职场进阶! 软件特色 1.免费 给每一位普https://m.lhdown.com/shouji/114044.html
24.Android天气开源安卓天气app开发教程Android 天气 开源 安卓天气app开发教程 学习了郭霖老师的《第一行代码》,其中14章是介绍天气预报软件的设计。从而学习了如何设计一个实用性的android小程序。 (一)功能需要及技术分析 设计之前,我们先需要分析,这个软件需要具备哪些功能。 ·可以罗列出全国所有的省、市、县;https://blog.51cto.com/u_12855/10970202
25.零基础如何自己能做游戏app软件开发选择一种适合游戏开发的编程语言,并专注于学习它的语法和特性。您可以通过在线教程、书籍或视频课程来学习编程语言。同时,通过编写简单的程序来巩固所学知识,并不断提升自己的编程能力。三、掌握软件开发工具 熟悉并掌握游戏app软件开发所需的开发工具。例如,如果您要开发Android游戏,那么您需要学习如何使用Android https://baijiahao.baidu.com/s?id=1805282391259509479&wfr=spider&for=pc
26.我收藏的这100+个”杀手级“网站,你用过几个?每当我为一个副业需要一个快速的 logo 时,这是我的首选。他们有成千上万的图标,可以帮助你创建许多标志组合。对于免费的商业和个人使用,他们让你下载一个PNG版本的标志。 21、AppMockUp - App 模拟图 网址:AppMockUp AppMockUp让你不费吹灰之力就能生成Android和iPhone的模拟图。如果你是一个移动开发者,一定https://developer.aliyun.com/article/1248577
27.零基础入门免费学Python课程和APP推荐安卓和苹果的大佬们都可以用,我用的是免费版,有广告,但是不影响使用。 我先说一下课程优点: 大家可以利用碎片时间随时随地学编程 我最早就想试验能够通过地铁和午休的碎片时间学 Python,事实证明,这款 APP 的教学模式非常适合大家利用碎片时间学习。 课程采用文字教学加课后习题的形式,方便大家随时学习。里面还有 Cohttps://www.jianshu.com/p/211bd974f7f2
28.安卓app开发之AndroidJNI即NDKC语言开发教程,适合初学者.zip资源Android JNI(Java Native Interface)是Android平台上的一个重要技术,它为开发者提供了在Java应用程序中调用C/C++原生代码的能力。本教程针对初学者,旨在深入浅出地讲解Android JNI,结合NDK(Native Development Kit)进行C语言开发。 让我们了解JNI的核心概念。JNI是一种接口,允许Java代码与其他编程语言写的代码进行交互https://download.csdn.net/download/lj_70596/14122402
29.一起作业学生版app下载安装3.整合利用语音心理学、儿童心理学等先进概念和技术,结合对话机器人等有趣的设计,全面提高学生的学习体验和学习效率。 4.按照教育部颁布的新英语课程标准,研究开发了中国第一套完整的课程.系统符合英语新课程标准理念的教学资源。 如果你也喜欢这款一起作业学生app,那就来麦块下载吧~ 更新历史 v3.8.13.1042版本 优https://m.mckuai.com/app/87289.html
30.智学网家长端app下载查成绩手机版2024最新免费安装类型:教育开发商:安徽知学科技有限公司皖ICP备18020062号-8A 安卓版下载苹果版下载 手机学习软件排行20名外 智学网家长端app下载查成绩介绍 智学网家长端app下载查成绩,一般又称智学网app。 智学网是深受学生和家长喜爱的在线学习平台。该APP应用人工智能、知识图谱及大数据分析技术,为学生提供个性化的学习智能导航https://www.liqucn.com/app-rn-183752-9