微信小程序案例 3.8 模块化学习
一、案例简介本案例学习微信小程序 JS 模块化开发。小程序支持将变量、函数封装到独立 js 模块文件中通过module.exports导出再使用require()引入实现代码拆分复用。 作业扩展要求来自不同模块的变量、函数输出信息设置不同背景颜色直观区分不同模块的内容。二、核心知识点模块导出module.exports在独立 js 文件中导出变量、方法供其他页面引入。模块引入require(路径)页面 js 中导入外部模块拿到导出的变量与函数。模块化好处代码解耦、复用方便维护避免页面 js 文件过于臃肿。作业扩充wxml 渲染模块输出内容使用 class 绑定不同背景色区分不同模块信息。三、完整代码实现1. 新建模块文件 moduleA.js第一个模块// module/moduleA.js const name 模块A的变量; function sayHello() { return 模块A函数输出Hello 来自模块A; } // 导出 module.exports { name, sayHello }2. 新建模块文件 moduleB.js第二个模块// module/moduleB.js const msg 模块B的变量; function calcNum() { return 模块B函数输出计算结果 102030; } // 导出 module.exports { msg, calcNum }3. 页面 wxml modular.wxml!--pages/modular/modular.wxml-- view classcontainer view classtitle小程序模块化演示/view !--模块A蓝色背景-- view classbox box-a text模块A变量{{dataA.name}}/text text模块A函数返回{{dataA.helloInfo}}/text /view !--模块B绿色背景-- view classbox box-b text模块B变量{{dataB.msg}}/text text模块B函数返回{{dataB.calcInfo}}/text /view /view4. 页面 wxss modular.wxss/*pages/modular/modular.wxss*/ .container{ padding:30rpx; } .title{ text-align:center; font-size:32rpx; font-weight:bold; margin-bottom:40rpx; } .box{ padding:30rpx; border-radius:12rpx; margin-bottom:20rpx; } .box-a{ background-color:#cce5ff; } .box-b{ background-color:#d4edda; } text{ display:block; margin:10rpx 0; }5. 页面 js modular.js// pages/modular/modular.js // 引入两个外部模块 const moduleA require(../../module/moduleA.js) const moduleB require(../../module/moduleB.js) Page({ data:{ dataA:{ name:, helloInfo: }, dataB:{ msg:, calcInfo: } }, onLoad(){ // 获取模块A数据 this.setData({ dataA:{ name:moduleA.name, helloInfo:moduleA.sayHello() }, // 获取模块B数据 dataB:{ msg:moduleB.msg, calcInfo:moduleB.calcNum() } }) } })6. 页面 json modular.json{ usingComponents: {} }目录结构说明pages/modular 放页面 4 个文件module 文件夹放在项目根目录存放 moduleA.js、moduleB.js四、代码说明把代码拆分成两个独立 js 模块各自定义变量和函数使用module.exports对外暴露。页面 js 通过require引入模块在 onLoad 生命周期读取模块数据并 setData 渲染到页面。作业扩展功能模块 A 信息使用浅蓝色背景模块 B 使用浅绿色背景不同模块输出信息区分不同背景颜色满足作业要求。五、运行效果页面加载自动引入两个 js 模块。上方区域浅蓝色背景展示模块 A 的变量与函数返回信息。下方区域浅绿色背景展示模块 B 的变量与函数返回信息。两个模块内容使用不同背景色清晰区分来源。六、踩坑总结require 路径写错是高频错误相对路径../../要注意层级。module.exports导出语法不能写错不能写成export小程序是 CommonJS不是 ES6 模块。模块文件不要放在 pages 页面文件夹内建议单独新建 module 目录管理。背景色依靠 class 区分给不同模块对应的外层 view 设置不同 class实现不同背景。七、小结模块化是小程序工程化基础将可复用逻辑抽离为独立 JS 文件实现代码复用与解耦。本次案例完成基础模块导入导出并按作业要求给不同模块输出信息设置不同背景颜色直观区分模块来源掌握小程序 CommonJS 模块化的基础使用方式。

相关新闻

深度学习训练机制深度解析:损失函数、反向传播与优化器选型实战

深度学习训练机制深度解析:损失函数、反向传播与优化器选型实战

1. 从“能跑通”到“真理解”:深度学习第四阶段的核心跨越走到深度学习入门指南的第四篇,其实已经跨过了一个很微妙的分水岭。前三篇里,我们大概率已经把环境搭好了,张量操作摸熟了,甚至用几行代码跑通过一个手写数字识…

2026/10/10 13:08:00 阅读更多 →
Claude Code Mods:可编程AI编程工具的运行机制改造指南

Claude Code Mods:可编程AI编程工具的运行机制改造指南

Claude Code Mods:当 AI 编程工具开始允许你改造运行机制用了大半年 AI 编程工具,我逐渐摸到一个让人又爽又难受的点:它能帮你写代码,但它的"默认行为"有时候真的让你抓狂。比如我明明只想让它改一个函数,它…

2026/10/10 13:08:00 阅读更多 →
推测解码技术演进:从DFlash到V4.1 Flash的工程实践与调优

推测解码技术演进:从DFlash到V4.1 Flash的工程实践与调优

1. 推测解码到底在解决什么问题大模型推理这件事,表面上看是"输入问题、输出答案",但真正做过部署的人都知道,瓶颈从来不在算力峰值上,而在显存带宽和串行解码这两个死穴上。自回归生成的特点决定了每生成一个 token&am…

2026/10/10 13:08:00 阅读更多 →

最新新闻

MarkItDown 进阶三板斧:OCR、音频转写与 Azure 云提取的正确打开方式

MarkItDown 进阶三板斧:OCR、音频转写与 Azure 云提取的正确打开方式

MarkItDown 进阶三板斧:OCR、音频转写与 Azure 云提取的正确打开方式 【免费下载链接】markitdown Python tool for converting files and office documents to Markdown. 项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown 把 PDF、Word、PPT 丢…

2026/10/10 13:53:32 阅读更多 →
C语言分支与循环:从if到for的完整入门指南

C语言分支与循环:从if到for的完整入门指南

学C语言,最绕不开的两个东西就是分支和循环。哪怕你只会写一行printf("Hello World"),只要把分支和循环用熟了,就能解决一大堆实际问题——九九乘法表、冒泡排序、字符串逆序,甚至PTA上那些让人头大的编程题&#xff0c…

2026/10/10 13:53:32 阅读更多 →
从 Ming-Omni 到 Ming-UniVision 再到 Ming-Image:蚂蚁视觉模型的连续叙事

从 Ming-Omni 到 Ming-UniVision 再到 Ming-Image:蚂蚁视觉模型的连续叙事

从 Ming-Omni 到 Ming-UniVision 再到 Ming-Image:蚂蚁视觉模型的连续叙事 【免费下载链接】Ming-Image-0.1-Design 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ming-Image-0.1-Design 如果说 2025 年多模态大模型的主战场是"一张架构吃…

2026/10/10 13:53:32 阅读更多 →
C#语法从入门到进阶:类型系统、LINQ与异步编程全解析

C#语法从入门到进阶:类型系统、LINQ与异步编程全解析

1. 别急着写代码,先看懂 C# 的脾气我见过不少半路转 C# 的开发者,上来就抄着 Java 的习惯写,结果处处碰壁。也有学了 Python 再来看 C# 的,第一反应是“这玩意儿怎么这么啰嗦”。但只要你摸清 C# 的设计思路,会发现它其…

2026/10/10 13:53:32 阅读更多 →
Armada RGB灯效服务深度剖析:Rust如何实现设备树模型识别与LED控制

Armada RGB灯效服务深度剖析:Rust如何实现设备树模型识别与LED控制

【免费下载链接】armada SteamOS-like ARM handheld distro 项目地址: https://gitcode.com/gh_mirrors/armada5/armada 点击查看 免费下载 🎮 Armada 是一个类 SteamOS 的 ARM 掌机发行版,其中的 armada-rgb 服务用 Rust 编写,负…

2026/10/10 13:53:32 阅读更多 →
风光储互补调度:Matlab下电池与废弃矿井抽蓄的多元储能优化建模

风光储互补调度:Matlab下电池与废弃矿井抽蓄的多元储能优化建模

做新能源调度,绕不开一个尴尬的现象:独立看风电、光伏的预测曲线都还行,但把它们放进同一个系统里,要么白天光伏功率顶着天、晚上风机疯转,负荷侧却跟不上;要么连续几天阴雨无风,电池耗尽&#…

2026/10/10 13:52:31 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →