【愚公系列】《微信小程序与云开发从入门到实践》005-小程序项目的基本结构

标题 详情
作者简介 愚公搬代码
头衔 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
博客内容 .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎 👍点赞、✍评论、⭐收藏


🚀前言

在当今移动互联网的迅猛发展中,小程序以其轻便、高效的特点,逐渐成为了吸引用户的重要工具。无论是电商、社交还是生活服务,各类小程序如雨后春笋般涌现,改变了我们与应用的交互方式。然而,很多开发者在初次接触小程序时,往往对其项目结构感到迷茫。了解小程序的基本结构不仅是开发的第一步,更是构建高效、可维护应用的基础。

在本篇文章中,我们将深入探讨小程序项目的基本结构,帮助大家理清各个组成部分的功能与作用。无论你是刚入门的小白,还是有经验的开发者,相信都能从中获得启发和实用的知识。让我们一起揭开小程序的神秘面纱,开启你的开发之旅吧!

🚀一、小程序项目的基本结构

请重新观察一下之前我们创建的小程序项目的文件检索区,你会发现,测试工程虽然简单,但是默认生成的文件却不少。正所谓麻雀虽小,却五脏俱全。这个示例工程正是我们理解小程序工程结构的最好样例。

🔎1.项目目录结构

之前我们创建的 HelloWorld 项目的目录结构如图所示:

在这里插入图片描述

从图可以看到,工程根目录中有两个文件夹 pagesutils 以及一些独立文件。先来介绍各个独立文件的用途。

  • .eslintrc.js 是 ESLint 配置文件,小程序默认使用 ESLint 进行代码检查,在开发中一般无须修改这个文件。
  • app.js 文件可以理解为是小程序的入口文件,在这个文件中进行小程序应用实例的注册,整个小程序只有一个应用实例,此实例是全局共享的。
  • app.json 是当前小程序项目的全局配置文件,在其中进行页面路由、窗口标题等全局信息的配置。
  • app.wxss 是当前小程序项目中编写的公共样式表,这里面配置的样式在所有组件中都可以直接应用。
  • project.config.json 是工程配置文件,在这个文件中,可以对当前小程序工作做一些个性化的配置,如界面颜色、编译规则等。
  • sitemap.json 是一个配置文件,用来配置小程序页面是否允许被微信搜索。

下面,再来看一下工程根目录下的两个文件夹:

🦋1.1 utils 文件夹

utils 文件夹用来存放一些提供工具支持的 JS 文件,默认生成的 util.js 文件中的代码如下:

// 进行日期时间格式化的方法
const formatTime = date => {
   
  // 获取当前年份
  const year = date.getFullYear()
  // 获取当前月份
  const month = date.getMonth() + 1
  // 获取当前日期
  const day = date.getDate()
  // 获取当前时间中的时
  const hour = date.getHours()
  // 获取当前时间中的分
  const minute = date.getMinutes()
  // 获取当前时间中的秒
  const second = date.getSeconds()

  return `${
     [year, month, day].map(formatNumber).join('/')}` +
         ` ${
     
好的,以下是一个简单的微信小程序日期时间组件的封装示例,它包括日期选择器和时间选择器: 1. 在小程序的 components 目录下创建一个名为 "datetime-picker" 的文件夹,并在该文件夹下创建一个名为 "datetime-picker.wxml" 的文件。 2. 在 datetime-picker.wxml 文件中,编写以下代码: ```html <view class="datetime-picker"> <picker mode="date" value="{{value}}" bindchange="bindDateChange"> <view class="picker"> {{year}}年{{month}}月{{day}}日 </view> </picker> <picker mode="time" value="{{value}}" bindchange="bindTimeChange"> <view class="picker"> {{hour}}时{{minute}}分 </view> </picker> </view> ``` 3. 在 datetime-picker.wxml 文件同级目录下创建一个名为 "datetime-picker.js" 的文件,并编写以下代码: ```javascript Component({ /** * 组件的属性列表 */ properties: { value: { type: String, value: '' } }, /** * 组件的初始数据 */ data: { year: '', month: '', day: '', hour: '', minute: '', }, /** * 组件的方法列表 */ methods: { bindDateChange: function (e) { const value = e.detail.value; const date = new Date(value); const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); this.setData({ year, month, day }) this.triggerEvent('change', { value: this.data.year + '-' + this.data.month + '-' + this.data.day + ' ' + this.data.hour + ':' + this.data.minute }); }, bindTimeChange: function (e) { const value = e.detail.value; const date = new Date(value); const hour = date.getHours(); const minute = date.getMinutes(); this.setData({ hour, minute }) this.triggerEvent('change', { value: this.data.year + '-' + this.data.month + '-' + this.data.day + ' ' + this.data.hour + ':' + this.data.minute }); }, }, ready: function () { const value = this.properties.value; if (value) { const date = new Date(value); const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hour = date.getHours(); const minute = date.getMinutes(); this.setData({ year, month, day, hour, minute }) } else { const now = new Date(); const year = now.getFullYear(); const month = now.getMonth() + 1; const day = now.getDate(); const hour = now.getHours(); const minute = now.getMinutes(); this.setData({ year, month, day, hour, minute }) } } }) ``` 4. 在 datetime-picker 文件夹下创建一个名为 "datetime-picker.wxss" 的文件,并编写以下代码: ```css .datetime-picker { display: flex; justify-content: space-between; align-items: center; } .picker { height: 100%; display: flex; justify-content:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值