【Javascript】微信小程序项目结构目录详解


我白天是个 搞笑废物
表演不在乎
夜晚变成 忧伤怪物
撕扯着孤独
我曾经是个 感性动物
小心地感触
现在变成 无关人物
                     🎵
张碧晨/王赫野《何物》


微信小程序开发工具提供了一个便捷的开发环境,使开发者可以快速构建和部署小程序。在开始开发之前,理解小程序项目结构目录中的各个文件及其作用是非常重要的。本文将详细介绍微信小程序项目的结构和各个文件的作用。

目录结构示例

在微信开发者工具中创建一个新项目后,默认的目录结构如下:

project-root/
  ├── pages/
  │   ├── index/
  │   │   ├── index.js
  │   │   ├── index.json
  │   │   ├── index.wxml
  │   │   └── index.wxss
  ├── utils/
  │   └── util.js
  ├── app.js
  ├── app.json
  ├── app.wxss
  ├── project.config.json
  ├── project.private.config.json
  └── sitemap.json

根目录文件

  1. app.js
    app.js 是小程序的入口文件,主要用来监听和处理小程序的生命周期函数(如 onLaunch、onShow 等),以及声明一些全局数据。
App({
  onLaunch: function () {
    // 小程序启动时执行的代码
  },
  globalData: {
    userInfo: null
  }
})
  1. app.json
    app.json 是小程序的全局配置文件,决定了小程序的页面路径、窗口表现、导航栏、底部 tab 等配置。
{
  "pages": [
    "pages/index/index"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  }
}
  1. app.wxss
    app.wxss 是小程序的全局样式表文件,用于定义全局的样式,作用于整个小程序的各个页面。
page {
  background-color: #f8f8f8;
}
  1. project.config.json
    project.config.json 是微信开发者工具的项目配置文件,包含项目的名称、appid、编译设置、调试设置等信息。
{
  "miniprogramRoot": "./",
  "projectname": "MyProject",
  "appid": "your-appid",
  "setting": {
    "urlCheck": true,
    "es6": true,
    "enhance": true
  }
}
  1. project.private.config.json
    project.private.config.json 主要用于存储私有的配置项,比如工具的某些特定设置。这个文件通常不需要手动修改。

  2. sitemap.json
    sitemap.json 是小程序的站点地图文件,用于 SEO 配置,帮助微信搜索引擎更好地爬取小程序的页面。

{
  "rules": [
    {
      "action": "allow",
      "page": "*"
    }
  ]
}

页面目录(pages)

页面目录下通常包含多个子目录,每个子目录代表一个页面。以下是页面目录的结构和文件作用:

  1. index.js
    index.js 是页面的逻辑文件,定义页面的数据、生命周期函数、事件处理函数等。
Page({
  data: {
    motto: 'Hello World'
  },
  onLoad: function () {
    console.log('Page loaded');
  }
})
  1. index.json
    index.json 是页面的配置文件,可以覆盖 app.json 中的部分配置,比如页面的导航栏样式等。
{
  "navigationBarTitleText": "首页"
}
  1. index.wxml
    index.wxml 是页面的模板文件,定义页面的结构和内容。
<view class="container">
  <text>{{motto}}</text>
</view>
  1. index.wxss
    index.wxss 是页面的样式文件,定义页面的样式。
.container {
  padding: 20px;
}

工具库目录(utils)

这个目录通常用来存放一些工具函数、公共模块等。以下是工具库目录的结构和文件作用:

  • util.js
    util.js 是工具函数文件,可以在这里定义一些常用的函数,然后在其他页面中引入使用。
function formatTime(date) {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()

  return [year, month, day].map(formatNumber).join('/')
}

module.exports = {
  formatTime: formatTime
}

其他

  • .eslintrc.js
    .eslintrc.js 是 ESLint 配置文件,用于定义代码规范和检查规则。通过配置 ESLint,可以确保代码的一致性和质量。
module.exports = {
  extends: 'eslint:recommended',
  env: {
    browser: true,
    node: true
  },
  rules: {
    'no-console': 'off'
  }
}

结语

理解微信小程序的项目结构和各个文件的作用,是开发高质量小程序的基础。通过本文的介绍,希望能帮助你更好地理解和使用微信小程序开发工具,为你的开发工作提供便利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/784666.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

19_谷歌GoogLeNet(InceptionV1)深度学习图像分类算法

1.1 简介 GoogLeNet&#xff08;有时也称为GoogleNet或Inception Net&#xff09;是一种深度学习架构&#xff0c;由Google的研究团队在2014年提出&#xff0c;主要设计者为Christian Szegedy等人。这个模型是在当年的ImageNet大规模视觉识别挑战赛&#xff08;ILSVRC&#xf…

实用性提升百分之一百!!!【ONLYOFFICE 8.1版本】全方位深度性能测评

目录 【ONLYOFFICE 8.1 版本】全方位深度性能测评 一、界面与用户体验 二、文字处理功能 表格处理功能 演示文稿功能 协作与共享功能 性能与稳定性 总结 【ONLYOFFICE 8.1 版本】全方位深度性能测评 在当今数字化办公的时代&#xff0c;办公软件的选择对于提高工作效率和…

【HTML入门】第四课 - 换行、分割横线和html的注释

这一小节&#xff0c;我们继续说HTML的入门知识&#xff0c;包括换行、横线分割以及注释&#xff08;html的注释&#xff09;。 目录 1 换行 2 分割横线 3 html注释 1 换行 html中分为块元素和行内元素。这一小节呢&#xff0c;先不说这些元素们&#xff0c;我们先说一下换…

安装Gradle

官网文档 https://gradle.org/ 腾讯下载镜像&#xff1a;https://mirrors.cloud.tencent.com/gradle/ 文档&#xff1a;https://docs.gradle.org/current/userguide/userguide.html 命令行文档&#xff1a;https://docs.gradle.org/current/userguide/command_line_interface.…

Python提取视频文案

Python提取视频文案 1、背景描述2、视频转音频3、音频转文字 1、背景描述 在多媒体应用中&#xff0c;视频是一个信息量巨大的载体。然而&#xff0c;有时我们需要从视频中提取语音并转换为文本&#xff0c;以用于文本分析和机器学习训练 其中主要涉及到两个过程&#xff1a;视…

String类(STL开始)

相信大家都知道STL在C中的重要性&#xff0c;作为其模板库中的一部分&#xff0c;包含了常见的数据结构和算法&#xff0c;是C的标准库 而我们今天要讲的String类&#xff08;String底层是一个字符顺序数组的顺序表对象&#xff0c;可以归类为容器&#xff09;&#xff0c;其实…

MySQL安装时initializing database失败

问题页面&#xff1a; 解决方法&#xff1a; 1.勾选红框中的选项&#xff1a; 2.将下图红框中全部改为英文&#xff1a; 然后一路next就可以了。

洛谷 P3613 学习用map代替大大大数组的好题

题目链接&#xff1a;P3613 【深基15.例2】寄包柜 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目截图&#xff1a; 题意分析&#xff1a; 非常简单的存入和取出操作 唯一的 “难点” 在于 数组开不到 a[100007][100007]&#xff0c;会暴内存 非常巧妙的引入 map 来解决…

广州银行多份招股书数据货不对板:内控风险难平,IPO曲折前行

作者|芋圆 来源|贝多财经 6月29日&#xff0c;广州银行第五次更新了招股说明书。 作为制造业大省的头部城商行&#xff0c;广州银行的发展一直备受关注。拆解可知&#xff0c;广州银行2023年在盈利能力、内控、资本充足性、资产质量等方面的表现&#xff0c;凸显了该行接下来…

Linux三剑客(grep、awk和sed)操作及与管道结合使用

1. 总览 grep、sed和awk被称为Linux三剑客&#xff0c;是因为它们在文本处理和数据操作方面极其强大且常用。 Linux三剑客在文件处理中的作用&#xff1a; grep&#xff08;数据查找定位&#xff09;&#xff1a;文本搜索工具&#xff0c;在文件中搜索符合正则表达式的文本内容…

小阿轩yx-Haproxy搭建Web群集

小阿轩yx-Haproxy搭建Web群集 Haproxy 简介 提供高可用性 能做出标准的负载均衡 支持虚拟主机 具备健康检查能力 能用于各式各样的代理 轻量级代理环境 解决方案优势 免费 快速 可靠 特性 特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或…

明明已经安装了python中的某个库,但是还是报错ModuleNotFoundError: No module named ‘sklearn‘

问题&#xff1a; 明明已经安装了python中的某个库&#xff0c;但是还是报错ModuleNotFoundError: No module named sklearn 解决方法&#xff1a; 卸载重新安装一下即可 pip uninstall scikit-learn pip install scikit-learn 成功解决&#xff01;&#xff01;&#xff…

高创新 | CEEMDAN-VMD-GRU-Attention双重分解+门控循环单元+注意力机制多元时间序列预测

目录 效果一览基本介绍模型设计程序设计参考资料 效果一览 基本介绍 高创新 | CEEMDAN-VMD-GRU-Attention双重分解门控循环单元注意力机制多元时间序列预测 本文提出一种基于CEEMDAN 的二次分解方法&#xff0c;通过样本熵重构CEEMDAN 分解后的序列&#xff0c;复杂序列通过VMD…

【Threejs进阶教程-着色器篇】1. Shader入门(ShadertoyShader和ThreejsShader入门)

ThreejsShader入门 关于本Shader教程认识ShaderShader和Threejs的关系WebGLShaderThreejsShaderShadertoyShader其他Shader 再次劝退数学不好的人从ShaderToy开始Shader的代码是强类型glsl的类型&#xff0c;变量&#xff0c;内置函数&#xff0c;关键字关于uv基于UV的颜色处理…

PCL 点云FPFH特征描述子

点云FPFH特征描述子 一、概述1.1 FPFH概念1.2 基本原理1.3 PFH和FPFH的区别二、代码实现三、结果示例一、概述 1.1 FPFH概念 快速点特征直方图(FPFH)描述子:计算 PFH 特征的效率其实是十分低的,这样的算法复杂度无法实现实时或接近实时的应用。因此,这篇文章将介绍 PFH 的简…

【java web 01】3小时快速学习前端知识(收藏备用)

3小时快速学习前端知识【全栈专用】 一、教程简介1.1 Java 开发为何学Web技术1.2 课程设计1.3 课前准备 二、HTML2.1 Html简介2.1.1 HTML、CSS、JS分别有什么作用2.1.2 什么是HTML2.1.3 什么是标记语言 2.2 Hello&#xff0c;Html2.2.1 HTML基础结构2.2.2 专业词汇2.2.3 语法细…

面试经典150题

合并两个有序数组 两个按非递减顺序排列的整数数组nums1和nums&#xff0c;另有两个整数m和n&#xff0c;分别表示nums1和nums2中的元素数组。 请合并nums2到nums1中&#xff0c;使合并后的数组同样按非递减顺序排列。 直接合并后排序 class Solution { public:void merge(…

解码Python字符串:‘r‘、‘b‘、‘u‘和‘f‘前缀的全面指南

&#x1f4d6; 正文 1 字符串前加’r’ 表示原始字符串&#xff0c;消除转义 print(abc\nde) # abc # deprint(rabc\nde) # abc\nde在下面这个列子中&#xff0c;如果不在路径字符串前面加r那么&#xff0c;路径中的空格就会出现问题 print(rD:\01 programming\09python\py…

【ARM系列】GIC600AE功能安全

GIC600AE功能安全 1.GIC600AE主要安全机制分布图&#xff1a;2.Fault Management Unit1.GIC block的错误如何上报到FMU&#xff1f;2.汇总到FMU的错误如何上报&#xff1f;3.Error Record format4.Safety Mechanism GIC600AE在原GIC600版本基础上增加了FuSa功能&#xff0c;所增…