当前位置: 首页 > news >正文

【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() + 1const 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'}
}

结语

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 鸿蒙 arkts 实现手机号中间四位隐藏, 可以使用 substring [ 简单适用新手 ]
  • RedHat运维-Linux存储管理基础4-LVM的相关减小操作
  • 服务攻防——中间件Jboss
  • 1.认识微服务
  • HackTheBox--BoardLight
  • 1.DDR3 SO-DIMM 内存条硬件总结
  • 【C语言】<常量> 之群英荟萃
  • 2024年全面导入APS系统:提升工厂生产效率的策略
  • EDI安全:如何在2024年保护您的数据免受安全和隐私威胁
  • 一起学Hugging Face Transformers(14)- “自定义训练循环”问题解答
  • JVM:字节码文件
  • 刷题——输出二叉树的右视图
  • 5-一元函数微分学的应用(一)——几何应用
  • Qt 线程 QThread类详解
  • 【ROS2】中级-在单个进程中组合多个节点
  • 2017届校招提前批面试回顾
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • uva 10370 Above Average
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 微服务核心架构梳理
  • 详解移动APP与web APP的区别
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #pragma预处理命令
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $forceUpdate()函数
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (4)logging(日志模块)
  • (6)添加vue-cookie
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (六)软件测试分工
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @requestBody写与不写的情况
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • []Telit UC864E 拨号上网
  • [1] 平面(Plane)图形的生成算法
  • [17]JAVAEE-HTTP协议
  • [20161214]如何确定dbid.txt