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

【JS|第21期】JavaScript模块化:深入解析三种文件暴露方式

日期:2024年7月6日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006

说在最前面:本文 vue3 的示例代码,在没有另外声名的情况下,均采用 <script setup> 组合式代码风格,风格统一,避免混乱,请各位新老食客放心食用哈 ^ _ ^


文章目录

  • 一、前言
  • 二、三种文件暴露方式
    • 1、分别暴露(Multiple Exports):细粒度的控制
    • 2、统一暴露 (Single Export Object):打包你的API
    • 3、默认暴露(Default Export):单一职责原则
  • 三、结语


在这里插入图片描述


一、前言

在现代 JavaScript 开发中,模块化已经成为一种不可或缺的实践。它不仅提高了代码的可维护性可读性,还促进了代码的重用JavaScript 提供了多种模块化的解决方案,其中最常用的就是 ES6模块系统。在这个系统中,我们可以通过不同的方式来暴露模块内部的 变量函数,以便在其他地方使用。今天,我们将深入探讨JavaScript 中的三种文件暴露方式,并通过实例来理解它们的工作原理。

二、三种文件暴露方式

1、分别暴露(Multiple Exports):细粒度的控制

首先,我们来了解 分别暴露 (Multiple Exports 的概念。这种方式允许我们在模块中定义多个export语句,每个语句对应一个需要暴露的变量或函数。这样做的好处是,我们可以非常精确地选择哪些成员对外可见。

让我们看一个简单的例子,假设我们有一个名为 math.js 的模块,它包含了两个数学函数:

// math.jsexport function add(a

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • buuctf题目讲解-1
  • Docker实战教程(一)
  • 大语言模型里的微调vs RAG vs 模板提示词
  • 用vue2+elementUI封装手机端选择器picker组件,支持单选、多选、远程搜索多选
  • 类与对象-继承-同名成员处理
  • SCSA第四天
  • VSCode设置字体大小
  • 机器学习与深度学习:区别与联系(含工作站硬件推荐)
  • 力扣之有序链表去重
  • IEC62056标准体系简介-4.IEC62056-53 COSEM应用层
  • 医疗器械网络安全 | 漏洞扫描、渗透测试没有发现问题,是否说明我的设备是安全的?
  • 数字化转型领航者:佑美科技塑造智能健康新生态
  • 什么是 GC Roots??一文带你看懂!!
  • MT3047 区间最大值
  • 百元平价蓝牙耳机哪款好?平价高性价比蓝牙耳机推荐
  • 深入了解以太坊
  • 【Leetcode】101. 对称二叉树
  • 【RocksDB】TransactionDB源码分析
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • docker-consul
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • iOS编译提示和导航提示
  • JS函数式编程 数组部分风格 ES6版
  • JWT究竟是什么呢?
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Mac转Windows的拯救指南
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Python socket服务器端、客户端传送信息
  • Python打包系统简单入门
  • React-生命周期杂记
  • Yeoman_Bower_Grunt
  • 诡异!React stopPropagation失灵
  • 前端知识点整理(待续)
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 无服务器化是企业 IT 架构的未来吗?
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​​​【收录 Hello 算法】9.4 小结
  • ​2020 年大前端技术趋势解读
  • ​iOS实时查看App运行日志
  • ​业务双活的数据切换思路设计(下)
  • # 数据结构
  • (12)Hive调优——count distinct去重优化
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2)MFC+openGL单文档框架glFrame
  • (31)对象的克隆
  • (52)只出现一次的数字III
  • (C++17) optional的使用
  • (七)Java对象在Hibernate持久化层的状态
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (五)Python 垃圾回收机制
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .cfg\.dat\.mak(持续补充)
  • .Net core 6.0 升8.0