微信小程序基本目录结构学习

今天我们就以firstdemo为例,介绍一下小程序的基本目录结构。
当我们打开一个微信小程序项目后,点击进入“编辑”菜单,我们可以看到有以下5个文件/文件夹):pages文件夹,utils文件夹,全局文件app.js文件,全局文件app.json文件,图片编辑文件工具app.wxss文件。
<ignore_js_op> 
小程序目录结构的整体结构如下:
<ignore_js_op> 
<ignore_js_op>

我们详细介绍下小程序目录中每个文件和文件夹的功能,以及注意事项。
1.pages目录介绍

pages:主要存放小程序的页面文件,其中每个文件夹为一个页面,每个页面包含四个文件:

index.js

.js是小程序的逻辑文件,也称事件交互文件和脚本文件,用于处理界面的点击事件等功能,像设置初始数据,定义事件,数据的交互,逻辑的运算,变量的声明,数组,对象,函数,注释的方式等,其语法与javascript相同。我们可以打开仔细查看index.js里面的代码。

首先,我们可以在data里面,motto是显示hello word,改变成hello微信小程序。如下图所示:

其次,我们看一下bindViewTap: function()的功能,是点击跳转到日志页面。我们可以点击头像看一下演示效果,如下图所示:
<ignore_js_op>

最后,我们看一下onLoad函数,是设置页面启动时的动作。我们可以修改页面启动时显示页面,也可以新增函数,如下图所示:
<ignore_js_op> 
常用的用.js函数如下所示:

  1. Page({
  2. data:{
  3. // text:"这是一个页面"
  4. },
  5. onLoad:function(options){
  6. // 页面初始化 options为页面跳转所带来的参数
  7. console.log(‘App onLoad‘)
  8. },
  9. onReady:function(){
  10. // 页面渲染完成
  11. console.log(‘App onReady‘)
  12. },
  13. onShow:function(){
  14. // 页面显示
  15. console.log(‘App onShow‘)
  16. },
  17. onHide:function(){
  18. // 页面隐藏
  19. console.log(‘App onHide‘)
  20. },
  21. onUnload:function(){
  22. // 页面关闭
  23. console.log(‘App onUnload‘)
  24. }
  25. })

复制代码

index.json.json后缀的文件是配置文件,主要是json数据格式存放,用于设置程序的配置效果。我们可以在index目录下创建.json为配置文件,如下所示:
<ignore_js_op> 
index.json该配置文件只能配置本级目录下的页面配置文件,并且只能对导航栏的相关文件进行配置修改,如用于修改导航栏显示样式,如导航的文字,背景颜色,文字颜色等。其语法跟json语法相同。我们举例修改一下导航栏的背景颜色为红色,如下图所示:

<ignore_js_op>

我们可以看到背景颜色变成的红色。。(这颜色真是惨不忍睹啊!)

index.wxml

.wxml文件是界面文件,是页面结构文件,用于构建页面,在页面上增加控件。全称是weixin
markup lanuage的缩写,微信标记语言。跟其他一般标记语言一样,标签成对,
标签名小写。可以通过引用class来控制外观,也可以通过绑定事件来进行逻辑的处理,通过渲染来完成我们需要的列表等。是连接用户操作和后端逻辑的纽带桥梁。我们在页面的看到的元素,都可以在这里编辑。例如,我们在页面上放一个按钮,如下图所示:

<ignore_js_op>

在.wxml中如何对不需要的程序代码进行注释呢?如下:

  1. <!--index.wxml-->
  2. <view class="container">
  3. <view  bindtap="bindViewTap" class="userinfo">
  4. <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
  5. <text class="userinfo-nickname">{{userInfo.nickName}}000</text>
  6. </view>
  7. <view class="usermotto">
  8. <text class="user-motto">{{motto}}</text>
  9. </view>
  10. <!--<button type="primary">按钮</button>-->
  11. </view>

复制代码

注意:

1. 在微信小程序里面这些特定的标记叫做组件。

index.wxss

.wxss是样式表文件,类似于前端中的css,是为.wxml文件和page文件进行美化的文件,让界面显示的更加美观。例如对文字的大小,颜色,图片的宽高,设置个.wxml中个组件的位置,间距等。

注意:

1.小程序每个页面必须有.wxml和.js文件,其他两种类型的文件可以不需要

2.文件名称必须与页面的文件夹名称相同,如index文件夹,文件只能是index.wxml、index.wxss、index.js和index.json.

1.2 utils

该文件件主要用于存放全局的一些.js文件,公共用到的一些事件处理代码文件可以放到该文件夹下,用于全局调用。例如,公用的方法:对时间的处理等。

  1. module.exports = {
  2. formatTime: formatTime
  3. }

复制代码

对于允许外部调用的方法,用module.exports进行声明,才能在其他js文件中用一下代码引入

  1. var util = require(‘../../utils/util.js‘)

复制代码

然后就可以调用该方法。

举例:我们直接定义一个utils函数,如下图所示:

  1. function util(){
  2. console.log("模块被调用了!!")
  3. }
  4. module.exports.util = util

复制代码

然后在index.js文件中调用这个util函数,如下所示:

  1. var common = require(‘../../utils/util.js‘)

复制代码

我们可以保存后,在后台可以看到,我们定义的util内容被调用了,如下所示:

<ignore_js_op>

1.3 app.js、app.json、app.wxss

app.js :
系统的方法处理全局文件,也就是说文件中规定的函数和数据,在整个小程序中,每一个框架页面和文件都可以使用this获取。每个小程序都会有一个app.js文件,有且只有一个,位于项目的根目录!app.js的作用就是告诉小程序,注册一个小程序实例使用app(object)的形式注册,实现小程序在不同阶段的需要实现的事件功能,如onLoad,onshow等,全局的on事件只有如下三个,要比页面的on事件要少。主要处理程序的声明周期的一些方法;例如:程序刚开始运行时事件处理等.app.js 里面包含一个app() 方法,里面提供对应事件定义,如下

  1. App({
  2. onLaunch: function () {
  3. console.log(‘App Launch‘)
  4. },
  5. onShow: function () {
  6. console.log(‘App Show‘)
  7. },
  8. onHide: function () {
  9. console.log(‘App Hide‘)
  10. }
  11. })

复制代码

App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。

<ignore_js_op> 
app.json :

系统全局配置文件,是必须包含的。包含设置页面路径,设置底部,网络,调试模式,设置导航头的颜色,字体大小,下面有没有tabbar等功能,具体页面的配置在页面的json文件中单独修改,任何一个页面都需要在app.json中注册,如果不在json中添加,页面是无法打开的。

  1. "pages":[
  2. "pages/index/index",
  3. "pages/logs/logs"
  4. ],

复制代码

(框架中的json优先级高于全局的json优先级。)

app.wxss : 全局的界面美化代码,并不是必须的。其优先级同样没有框架中的wxss的优先级高。

举例:在index.wxss中有头像的外边距设置

  1. .usermotto {
  2. margin-top: 200px;
  3. }

复制代码

在app.wxss中也定义一个全局的头像外边距设置400px,我们看看到底哪一个被执行了。

  1. .usermotto {
  2. margin-top: 400px;
  3. }

复制代码

在执行重启的过程中,我们可以看到全局的参数被index.wxss里面的覆盖了。

<ignore_js_op>

微信小程序的图片添加和处理
微信小程序中添加图片是非常麻烦的,只能通过打开项目文件夹,把图片放到目录下即可。在代码中引用图片的相对路径或者绝对路径就可以了。目前小程序开发中仅支持png和jpg格式,其他格式的图片无法打开。

原文地址:https://www.cnblogs.com/hzp-tt/p/8987875.html

时间: 2024-08-01 20:14:39

微信小程序基本目录结构学习的相关文章

微信小程序:目录结构

最近开始接触小程序了,学习的话当然是从官方文档开始. 附上微信小程序官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/ 文件结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page. 1.一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必填 作用 app.js 是 小程序逻辑 app.json 是 小程序公共设置 app.wxss 否 小程序公共样式表 2.一个小程序页面由四个文件组成,分别是: 文件类型 必填

微信小程序的目录结构

当我们打开一个微信小程序项目后,点击进入"编辑"菜单,我们可以看到有以下5个文件/文件夹):pages文件夹,utils文件夹,全局文件app.js文件,全局文件app.json文件,图片编辑文件工具app.wxss文件. 小程序目录结构的整体结构如下: 小程序包含一个描述整体程序的APP和多个描述各自页面的page. 文件 必填 作用 app.js 是 小程序逻辑 app.json 是 小程序公共设置 app.wxss 否 小程序公共样式表 一个小程序页面由四个文件组成,分别是: 文

微信小程序入门——Mustache语法学习

微信小程序中用到了大量Mustache语法,特发此文学习一下 1.简单的变量调换:{{name}} 1 var data = { "name": "Willy" }; 2 Mustache.render("{{name}} is awesome.",data); 返回成果 Willy is awesome. 2.若是变量含有html的代码的,例如:<br>.<tr>等等而不想转义可以在用{{&name}} 1 va

【免费下载】全套最新 017微信小程序 视频教程+教学资料+学习课件+源代码+软件开发工具

017微信小程序视频教程 网盘地址: 链接:https://pan.baidu.com/s/1VV5KVxd7\_LLOMSM8BNuFqg 提取码:6d4k 加公众号 获取更多新教程 教程目录大纲 ./017微信小程序 ├── 视频 │?? ├── 01. _微信小程序_入门介绍.avi │?? ├── 02. _微信小程序_相关资料.avi │?? ├── 03. _微信小程序_特点介绍.avi │?? ├── 04. _微信小程序_移动端适配相关内容.avi │?? ├── 05. _微信

微信小程序实际开发中学习

三个概念 微信:就是一个聊天工具 微信公众号:企业或个人用于管理其粉丝/用户的应用(类似于APP) 微信小程序:不需要下载安装直接可以使用的软件/应用/APP 小程序与公众号的区别: 定位不同(小程序:产品与服务,公众号:营销与信息传递) 体验差异(小程序:体验接近原生APP,公众号:操作延时较大) 技术区别(小程序:微信自身开发环境与开发语言,公众号:基于H5开发) 1.之前通过申请获得了小程序的AppId通过QuickStart快速生成了一个小程序 这个时候可以使用预览然后用手机扫描二维码预

小程序的目录结构及基本代码编写流程

微信开发者工具下载:https://dldir1.qq.com/WechatWebDev/1.0.0/201812271/wechat_devtools_1.02.1812271_ia32.exe 编辑器的布局结构: 项目的目录结构: 如何写页面布局代码: 如何获取动态数据: 原文地址:https://www.cnblogs.com/wordblog/p/10211959.html

微信小程序学习资料整理

基础篇 官网: https://mp.weixin.qq.com/cgi-bin/wx 微信小程序: 小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 微信公众号和小程序的主要区别? 1.定位不同(公众号服务于营销与信息传递,小程序面向产品与服务) 2.实现技术区别 (公众号基于H5(html5 vue angualr react ionic), 小程序必须用小程序的语法开发) 3.用户体验 (小程序的用户体验要比 html

微信小程序开发—小程序框架详解(二)

上一节讲了微信小程序的目录结构及各个文件的作用,主要介绍了小程序的配置文件及其支持的配置属性. 本节主要从逻辑层和视图层来说明小程序的框架. 小程序的逻辑层由js完成,视图层由微信提供的WXML(WeiXin Mark Language)和WXSS(WeiXin Style Sheet)文件来完成. 其中官方给出的解释:页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件.同时由于zepto/jquery 会使用到w

微信小程序购物商城系统开发系列-目录结构

上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的小demo. 这一篇文章我们主要的是介绍一下小程序的一些目录结构,以及一些语法,为我们后面的微信小程序商城系统做铺垫. 首先我们来了解下小程序的目录结构 Pages 我们新建的一些页面将保存在这个文件夹下面,每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js.index.