小程序的模块化

作者:神秘网友 发布时间:2021-10-13 07:24:00

小程序的模块化

模块化

可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过module.exports或者exports才能对外暴露接口。

注意:

  • exportsmodule.exports的一个引用,因此在模块里边随意更改exports的指向会造成未知的错误。所以更推荐开发者采用module.exports来暴露模块接口,除非你已经清晰知道这两者的关系。
  • 小程序目前不支持直接引入node_modules, 开发者需要使用到node_modules时候建议拷贝出相关的代码到小程序的目录中,或者使用小程序支持的npm功能。

module.export和exports的关联

  • exports是module.exports的一个引用
  • module.exports可以重新赋值,这就改变了导出的本质不在是一个对象
  • export一旦重新赋值,改变不了导出的本质,依然还是一个对象
//a.js
module.exports.a= "hello";


//b.js
const b=require("./a.js")
//require引入的方式是common规范,只能在node环境下运行不能直接在浏览器环境下运行
console.log(b)

此时我们node b.js可以在终端看到的是一个对象

module.exports对外暴露的是一个对象

此时我们将a.js中的暴露方法改变一下

exports.a= "hello";

可以看到两种暴露的方法,得到的结果一样,都是对象

二者的区别:

  • exports是module.exports的一个引用
  • module.exports可以直接复制,它将修改暴露的本质(暴露一个对象),exports直接赋值,它将不会暴露我们暴露的本质,依然是一个对象

此时我们修改a.js中的文件

module.exports="hello"

我们node b.js之后可以看到终端输出hello字符串

此时我们再修改a.js中的文件

exports="hello"

我们node b.js之后可以看到终端输出一个对象

module.exports和export暴露的区别:前者可以暴露多个成员或者模块,二后者只能暴露一个成员或者模块

module.exports={
    a:"hello",
    fn:()=console.log("fn函数")
}

此时我们node b.js可以看到

我们改为exports可以看到

exports={
    a:"hello",
    fn:()=console.log("fn函数")
}

此时暴露的只是一个空的对象


本文章教程介绍完毕,更多请访问跳墙网其他文章教程!

小程序的模块化 相关文章

  1. 详解小程序的蓝牙模块

    详解小程序的蓝牙模块 刚刚结束了一个项目,其中用到了小程序的蓝牙模块,当时也是遇到了很多的问题,这里就说下其中遇到的一些问题和坑 1 流程 首先是开启蓝牙模块, uni.openBluetoothAdapter({ success(res) { console.log(res) } }) 这...

  2. 微信小程序学习之JS模块化(总结)

    微信小程序学习之JS模块化(总结) 小程序中可以将任何一个JavaScript 文件作为一个模块,通过module.exports 或者 exports 对外暴露接口。 (1)通过exports方法对外暴露接口。 (2)在需要使用这些模块的文件中,使用 require(path) 将...

  3. 微信小程序学习第6周模块化

    微信小程序学习第6周模块化 第一步 、编写net.js文件 代码如下: var netWork = { request_work(obj) { // 开启加载响应 if(obj.isLoading) { wx.showLoading({ title: 'loging' }) } wx.request({ url: obj.url,//传入地址 data: obj.data,//传入亲求

  4. 三个月小程序开发之第十三天小程序js模块化

    三个月小程序开发之第十三天小程序js模块化 今天是2020-01-13,星期一,农历腊月十九 有大事发生,至于是什么大事看官您且往下看 你以为这是一个手机上的小程序,Wrong~, 您再看下面这张图,震惊吧?这其实是 PC 版的微信小程...

  5. 1、了解电脑端要实现的功能 - 微擎小程序模块应用开发

    1、了解电脑端要实现的功能 - 微擎小程序模块应用开发 微信小程序多店铺功能的开发,利用的是微擎的后端框架;前端采用微信小程序与其交互实现。 这里后端框架的安装就不再进行详细的解说,大家可以登录到微擎的官方进...

  6. 实验四用可重用的链表模块来实现命令行菜单小程序V2.5

    实验四:用可重用的链表模块来实现命令行菜单小程序V2.5 一、实验要求 用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作;链表模块的接口设计要足够通用,命令行菜单小程序的...

  7. 微擎模块开发-小程序商城服务器搭建(基础篇)

    微擎模块开发-小程序商城服务器搭建(基础篇) 本次课程主要分类三大块,阿里云服务器环境搭建、宝塔面板(申请ssl证书)安装及部署微擎站点 阿里云服务器搭建 百度搜索阿里云官网,大家可以用其他的云服务器(例如腾...

  8. 从微信小程序到鸿蒙js开发【08】表单组件注册登录模块

    目录: 1、登录模块 2、注册模块 3、系列文章导读 牛年将至,祝大家行行无bug,页页so easy~ 在微信小程序中,提供了form组件,可以将input、picker、slider、button等全部放在form中,并设置name属性实现类似html的表单提交功能。 鸿...

  9. 实验五用callback增强链表模块来实现命令行菜单小程序V2.8

    实验五:用callback增强链表模块来实现命令行菜单小程序V2.8 网易云ID:Nerd2dian0 GitHub源码:https://github.com/Nerd2dian0/Youcan/tree/master/lab5(下面的是修改的主要代码,想看全部代码请看gayhub,谢谢!报告质量不在贴图多少) 实验要求:...

  10. C语言程序的模块化通过什么实现

    C语言程序的模块化通过定义函数来实现。 C语言是由函数组成的,函数是C语言的基本单位。 (推荐教程:c语言教程) 函数的定义: 函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也...

  11. RRT算法的基本程序模块(2)

    RRT 效果图 承接上一节,在接下来的几篇文章中,作者将详细解剖机器人的避障路径规划算法。 快速随机搜索树( RRT ) 算法 是基于随机采样的路径规划 算法 ,它相比于其他 算法 的一个优势在于可以有效地将非完整约束考虑...

  12. 1.1模块化程序和面向对象

    模块化程序 为什么要模块化 函数(function)的定义和传参 模块(module)的构建和导入 包(package)的概念 标准的包结构 面向对象编程 (Object Oriented Programming) 面向对象的概念和特点 Python里的面向对象 工业里,OOP的必要性 小...

  13. 前端学习记录(三):前端模块化控制程序 requireJs

    前端学习记录(三):前端模块化控制程序 requireJs 使用requireJs可以模块化的引用各组件,这样就可以做到写一次,多次利用。 (1)下载 requireJS (2)放置到某一特定目录下面 目录位置不固定 (3)配置requireJS的配置参数 (4)...

  14. 全栈python之路用函数实现模块化程序设计

    全栈python之路用函数实现模块化程序设计 把实现某一个功能的代码定义为一个函数,在需要使用时,随即调用即可。 简单理解就是可以完成某项 工作的代码块,类似于积木块,可以反复地使用 [var1] 创建一个函数 创建函数...

  15. 第七章 用函数实现模块化程序设计

    第七章 用函数实现模块化程序设计 例7.1 想输出以下的结果,用函数调用实现。 How do you do! 运行结果如下: 例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。 运行结果如下: 例7.3 将例7.2稍作改动,将在max...

  16. 第7章 用函数实现模块化程序设计

    第7章 用函数实现模块化程序设计 例7.1:输出以下结果,用函数调用实现 运行结果: 例7.2:输入两个函数。要求输出其中值较大者。要求用函数找到大数 运行结果: 例7.3:将7.2中的max函数定义的变量z改为float型 运行结果: 例...

  17. 避免Node.js模块日志污染程序日志的方法介绍

    视频教程推荐: nodejs 教程 你是否有过这样的经历,当把 logging 添加到自定义 Node 模块中,并认为自己将会从这些额外信息中受益,却发现当你将模块添加为依赖项并运行 npm install 和 npm start 时,你的程序日志就会像下面吗? ...

  18. 模块一 GO语言基础知识-程序实体的那些事(下)

    在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论。 还记得吗最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在“屏蔽”的现象。 ...

  19. 嵌入式软件开发之模块化程序设计(三)

    嵌入式软件开发之模块化程序设计(三) 前言: 模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协...

  20. 第7章 用函数实现模块化程序设计

    第7章 用函数实现模块化程序设计 例7.1 用函数调用实现 include stdio.h int main () { void print-star(); void print-message(); void print-star(); void print-message(); void print-star(); return 0; } void print-star(); { printf (***************

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2021, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词