前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iKcamp出品|微信小程序|工具安装+目录说明|基于最新版1.0开发者工具初中级教程分享

iKcamp出品|微信小程序|工具安装+目录说明|基于最新版1.0开发者工具初中级教程分享

作者头像
iKcamp
发布于 2018-01-04 09:42:21
发布于 2018-01-04 09:42:21
1.3K00
代码可运行
举报
文章被收录于专栏:iKcampiKcamp
运行总次数:0
代码可运行

第一章:小程序初级入门教程

工具安装

在上一节第 8 步所展示的页面中,可以点击 开发者工具 直接进入到下载页面,也可以直接访问 官网下载地址。然后根据自己的设备选择相应的下载 安装过程不再复述,一路默认。

下载开发工具

§ 小程序工具起手

此教程选择的工具为 mac 平台版本,没差

  1. 打开安装好的 微信web开发者工具 ,需要用 管理员开发者 的微信账号扫码登录。管理员账号 是上一节第 6 步中注册 appID 时,绑定的微信账号。开发者账号可在上一节第 8 步中的 添加开发者 中设置
  1. 登录成功后,选择 本地小程序项目,然后 添加项目
  1. 如果没有注册 appID,也可以开发小程序项目,但部分功能会受限,比如在手机上预览。在这里,我们已经有了 appID
  1. 添加成功后,我们的项目会在 微信web开发者工具 中自动打开并启动,可以在此工具中对代码进行修改、调试、断点、预览,文件有修改的话,项目会实时更新。

目录说明

项目生成后,会看到如下结构的目录文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
├─ pages/
│   ├─ index/
│       ├─ index.js
│       ├─ index.wxml
│       ├─ index.wxss
│   ├─ logs/
│       ├─ logs.js
│       ├─ logs.json
│       ├─ logs.wxml
│       ├─ logs.wxss
├── utils/             
│   ├─ util.js
├── app.js                  // 必备文件  
├── app.json                // 必备文件
├── app.wxss
先看下最外层的三个文件:app.jsapp.jsonapp.wxss
  1. app.js 小程序的主入口文件,类似于我们在模块加载器时代(requirejs/seajs)常常会码一个 main.js 来作为程序的启动入口。如果你有接触过 node - express 技术栈,理解起来会更贴切。注意:文件名不可更改 我们可以在 app.js 里面对小程序在不同生命周期段进行处理,设置小程序里面的 全局变量(比如只请求一次公用的数据,让所有的页面都能用)。 微信平台 app.js 说明文档
  2. app.json 小程序的全局配置文件,比如设置小程序有哪几个页面组成(目前是 indexlogs)、窗口表现(背景色等)、设置网络超时时间、设置导航条样式等背景色。注意:该文件不可添加任何注释内容 微信平台 app.json 配置文档
  3. app.wxss 小程序的全局样式文件,在小程序中,所有的样式文件不再是 .css 后缀,全都需要以 .wxss 作为后缀。与传统的 css 样式相比,wxss 支持 @import 样式导入和像素单位自适应。 独立页面中的局部样式,请书写在相对的页面文件夹中,后面会有说明。 微信平台 app.wxss 样式说明文档
小程序的页面文件

app.json 文件中配置了当前小程序的两个页面 pages/index/indexpages/logs/logs,可以看到,其实就是 文件的路径+文件名 组成。如果增加一个页面,需要在参数 pages 中把页面的地址配置进去。

细心的同学可能已经发现一个现象,每个页面文件夹,与里面的文件,名字都一样一样滴。是的,一般情况下,一个完整的页面需要 jswxss(css)wxml(html) 组成。 比如 index 页面,如果需要对 index 页面进行一些独立的配置,需要像 logs 一样,增加 index.json 文件来保存配置信息。

来看下 wxml 文件与 html 文件的区别
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--index.wxml-->
<view class="container">
  <view class="userinfo">
    <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
    <block wx:else>
      <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
    </block>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

传统的 html 文件由各种各样的标签组成,而在 wxml 中,可用的标签元素并不多,可以看到这里涉及到了 viewimagetext标签。

  • view 相当于 div,你可以这么去理解。
  • image 相当于 img,这个应该都懂了。
  • text 很明显,用来标注文本的标签,既然是 文本,肯定是 行级元素 了。

还有一些内置好的组件标签,自带样式和特性,详见 官方文档

页面样式表 index.wxss

作用域只在当前页面生效,它可以覆盖 app.wxss 里面的样式规则。可以看到,与平时我们用的样式文件基本没差:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**index.wxss**/
.userinfo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.userinfo-avatar {
  width: 128rpx;
  height: 128rpx;
  margin: 20rpx;
  border-radius: 50%;
}

.userinfo-nickname {
  color: #aaa;
}

.usermotto {
  margin-top: 200px;
}
页面脚本文件 index.js

app.js 一样,包含了一个页面的生命周期,声明并处理数据,响应页面交互事件等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse){
      // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})

下期更新内容:小程序初级入门教程-小试牛刀+发布流程

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序开发入门篇
本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。 开发准备工作 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的“
xiangzhihong
2018/02/05
1.4K0
微信小程序开发入门篇
微信小程序开发--【Hello World 及代码结构】(二)
通过上一篇我们已经完成了注册及开发环境的搭建,今天我们来开发我们的第一个微信小程序 微信小程序开发注册流程
先知先觉
2019/01/21
8450
微信小程序开发指引
官方文档教程1:http://bcoder.cn/wxopen/ 官方文档教程2:http://bing.aliaii.com/wxopen/  本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志。下载源码 1. 获取微信小程序的 AppID 如果你是收邀请的开发者,我们会提供一个帐号,利用提供的帐号,登录 https://mp.weixin.qq.com ,就可以在网站的
用户1220053
2018/02/09
1.7K0
微信小程序开发指引
小程序最新标准授权登录流程+逻辑
小程序自上线以来,官方一直在调整API,因此也出现了一批被废弃的接口,作为程序员的我们,此时此刻千万不能为这不断的变化而感到头疼,应当与时俱进,不断的更新自己的知识储备和应用技能。
王小婷
2018/12/25
1.7K0
从零新建小程序
一:项目生成 自行下载微信开发者工具-打开微信开发者工具 如下图: 项目:就是项目要存的位置。 AppID:企业级需(小程序申请成功的时候会有这个,个人的不用填写,只是最后不能发布到线上)。 项目名称:demo1(可以根据自己需要起名字) 建立普通快速启动模板(就是快速生成一个小项目) ------点击确定 二:项目预览 确定之后显示的界面如下图 2-1 界面分析 2-2 项目目录 2-21 那么简单的界面,相信你用html分分钟就写好了吧,而且保证目录结构清晰。 2-22 两个文件夹 page
企鹅号小编
2018/01/17
1.1K0
从零新建小程序
「小程序JAVA实战」 小程序手写属于自己的第一个demo(六)
自己尝试的写一个小demo,用到自定义样式,自定义底部导航,页面之间的跳转等小功能。 官方文档对于小程序开发来说要时刻打开https://developers.weixin.qq.com/minipr
IT架构圈
2018/12/17
1K0
「小程序JAVA实战」 小程序手写属于自己的第一个demo(六)
微信小程序之获取并解密用户数据(获取openid,nickName等)
本文主要总结微信小程序通过后台请求访问微信用户信息 创建一个微信小程序工程(自行百度) 微信小程序index.js代码 //index.js //获取应用实例 const app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, backUserInfo:{},//后台得到的微信用户信息 hasUserInfo: false, canIUse: wx.canIUse('button.o
小帅丶
2021/12/28
5.1K0
微信小程序之获取并解密用户数据(获取openid,nickName等)
前端-微信小程序开发(1):小程序的执行流程是怎么样的?
我们这边最近一直在做基础服务,这一切都是为了完善技术体系,这里对于前端来说便是我们需要做一个Hybrid体系,如果做App,React Native也是不错的选择,但是一定要有完善的分层:
grain先森
2019/03/29
1.8K0
前端-微信小程序开发(1):小程序的执行流程是怎么样的?
微信小程序自定义状态栏
为了避免遮挡用户手机顶部状态栏,还需要获取用户手机状态栏的高度,并在在每个页面中添加一个占位用的 view标签来防止遮挡用户状态栏。
渔父歌
2019/03/15
2K0
微信小程序自定义状态栏
小程序 Tip | 基础概述
每个子目录中保存着一个页面的相关文件 —— 通常是4种不同扩展名的文件, 分别是页面中的逻辑文件、页面结构文件、样式表文件、配置文件; 为了减少开发时的配置项,框架特别约定描述页面的这4个文件必须具备相同的路径和文件名;
凌川江雪
2022/01/20
9880
小程序 Tip | 基础概述
5分钟入门 - 微信小程序开发
如果你还没有微信公众平台的账号,请先进入 微信公众平台 首页,点击 “立即注册” 按钮进行注册。注册的账号类型可以是订阅号、服务号、小程序以及企业微信,我们选择 “小程序” 即可。
用户6808043
2022/02/25
8740
微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计 |基于最新版1.0开发者工具
iKcamp
2018/01/04
7350
微信小程序开发思路
小程序还没有完全开放,不能真实体验,但通过文档和开发工具,可以了解到他的开发思路 下面就介绍下小程序的开发方式,希望能帮助有兴趣的朋友对整体思路有个快速了解 整体结构 默认示例项目的目录结构 从后缀名
dys
2018/04/04
2.7K0
微信小程序开发思路
小程序todolist
  上节详细描述了小程序环境搭建,承诺了这节讲todolist,我猜大家都是学习过 vue 或者 react 之后才学习小程序的,对于todolist 的逻辑问题我暂不做详细描述,如果遇到些许问题,请及时留言或评论在下方,本人常在。
我不是费圆
2020/12/17
9220
微信小程序开发入门教程
微信小程序开发文档链接为:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html,如下图:
全栈程序员站长
2022/09/06
2.1K0
微信小程序开发入门教程
微信小程序-代码结构介绍
微信小程序-代码结构介绍
Java架构师必看
2021/06/08
9660
微信小程序-代码结构介绍
微信小程序_01程序结构
注意 AppID 目前个人无法申请,使用企业账号可以申请,我们就选择"无AppID"
酷走天涯
2018/09/14
4690
微信小程序_01程序结构
小程序的组成结构
这是一个练习项目宿舍管理小程序,我们可以清晰地看到在文件夹miniprogram下存在的几个文件夹。 第一个文件夹images主要是存放一些小程序中所需的图片;
帝旭科技
2022/11/23
6300
小程序的组成结构
微信小程序 Helloworld
navigationBarTitleText窗口标题 backgroundColor 背景色
用户5760343
2020/01/15
4650
怎么开发一个简单的小程序_微信小程序编写教程
微信小程序开发文档链接为:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html,如下图:
全栈程序员站长
2022/09/30
3.1K0
怎么开发一个简单的小程序_微信小程序编写教程
相关推荐
微信小程序开发入门篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验