JavaScript CommonJS 模块是一种使用 JavaScript 语言实现的模块化编程规范。它是在服务器端开发 Node.js 应用程序时使用最广泛的模块化方案之一。

CommonJS 模块使用 module.exportsrequire 关键字来定义和使用模块。module.exports 属性用于导出模块中的内容,而 require 函数用于在其他文件中引用并使用导出的内容。

例如,假设你有一个名为 math.js 的文件,其中定义了两个函数:

// math.js
function add(a, b) {return a + b;
}function subtract(a, b) {return a - b;
}module.exports = {add: add,subtract: subtract
};

然后,你可以在另一个文件中使用 require 函数来引用这个模块并使用它:

// main.js
const math = require('./math');console.log(math.add(1, 2)); // 3
console.log(math.subtract(1, 2)); // -1

这样,就可以在 main.js 中使用 math.js 中导出的函数了。

CommonJS 模块常用于服务器端开发,但是也可以使用工具将其转换为浏览器可以使用的形式。

JavaScript CommonJS 模块相关推荐

  1. javascript --- ES6模块与CommonJS模块的差异

    CommonJS模块是运行时加载,ES6模块是编译时输出接口 是因为CommonJS加载的是一个对象(module.exports属性),该对象只有在脚本运行结束时才会生成.而ES6模块不是对象,它的 ...

  2. CommonJs模块规范

    1.什么是模块化 文件作用域 通信规则 加载 require 导出 exports 2.CommonJs模块规范 在Node中的Javascript还有一个很重要的概念:模块概念 模块作用域 使用re ...

  3. ES6模块与commonJS模块的差异

    参考: 前端模块化 ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,旨在成为浏览器和服务器通用的模块解决方案. 其模块功能主要由两个命令构成:export和import.export命 ...

  4. Node对CommonJS模块的实现

    在Node中,每个文件模块都是一个对象,它的定义如下: function Module(id, parent) { this.id = id; this.exports = {}; this.pare ...

  5. javascript 优秀模块是这样炼成的

    引言:如今的JavaScript已经是Web上最流行的语言,没有之一.从Github上的语言排行榜https://github.com/languages上即可看出,也是如今最为活跃的开源社区.随着N ...

  6. Node.js b站教学视频汇总笔记(完)CommonJS模块规范、 require、npm、Express(中间件)、MongoDB、MySQL

    文章目录 Node.js b站教学视频汇总笔记(完)CommonJS模块规范. require.npm.Express(中间件).MongoDB.MySQL 1. Node介绍 为什么要学习Node. ...

  7. 浏览器加载 CommonJS 模块的原理与实现

    转载:http://www.ruanyifeng.com/blog/2015/05/commonjs-in-browser.html 就在这个周末,npm 超过了cpan ,成为地球上最大的软件模块仓 ...

  8. Node.js 官网入门教程(一) CommonJS 模块规范、Node.js REPL、console、CLI、exports

    Node.js 官网入门教程(一) CommonJS 模块规范.Node.js REPL.console.CLI.exports 文章目录 Node.js 官网入门教程(一) CommonJS 模块规 ...

  9. es6 混合commjs_详谈commonjs模块与es6模块的区别

    到目前为止,已经实习了3个月的时间了.最近在面试,在面试题里面有题目涉及到模块循环加载的知识.趁着这个机会,将commonjs模块与es6模块之间一些重要的的区别做个总结.语法上有什么区别就不具体说了 ...

最新文章

  1. 4.12Python数据处理篇之Matplotlib系列(十二)---绘图风格的介绍
  2. 响应式的无限滚动全屏dribbble作品集布局展示效果
  3. scala 操作hdfs
  4. 生产力再提速,618 互动项目进化之路
  5. FFmpeg 4.2“艾达”发布
  6. DIY逗比的时钟,制作资料100%开源!
  7. 中国首台千万亿次超级计算机,中国首台千万亿次超级计算机首批设备开始试用...
  8. oj题 根据化学方程式计算摩尔质量
  9. [MSSQL]SQL简繁转换函数
  10. MATLAB简单解决输出某个数(组)内自然数的阶乘和问题
  11. acer台式计算机如何拆硬盘,原件 Acer V5471G拆卸与更换固态硬盘的详细说明
  12. mysql卸载安装pxc_PXC 5.7.14 安装部署
  13. 2007年个人站长/SEOer必上网站
  14. Jedis hget连接好久没有反应
  15. 南京邮电大学-数据结构-慕课MOOC-第四章作业
  16. 一个老工程师的工作经历和思考
  17. 读《薛兆丰经济学讲义》后感
  18. 分层结构的生活例子_层次分析法经典案例
  19. PDF Explained(翻译)第七章 文档元数据和导航
  20. 中国的程序员与日本程序员

热门文章

  1. 如何将文件上传到GitHub仓库-操作简述
  2. 按键精灵学习Day2
  3. 3DMAX学习第一篇:为啥学习3DMAX?
  4. 川大计算机在职研究生考试,四川大学在职研究生考试科目是什么?
  5. Windows 常用网络命令
  6. 微服务及其框架是什么
  7. 解决Win10状态栏频繁卡死的问题
  8. 2016年最流行的Android组件、工具、框架大全
  9. 2021-03-10-数据结构与算法开始学习
  10. CiscoAIR-AP1832I-H-K9最全刷机步骤和WEB页面及控制器模式CLI配置。