- 前言
- 关于 ECMASCRIPT 发展史和现状
- ES6 带来的重大特性
- ES2016(ES7)的改进
- ES2017(ES8)带来的重大新特性
- ES2018(ES9)带来的重大新特性
- JavaScript 编码风格指南
- JavaScript 词法结构(构建块)
- JavaScript 变量
- JavaScript 数据类型
- JavaScript 表达式
- 原型继承
- 如何使用 JavaScript 中的 Classes(类)
- JavaScript 异常处理
- JavaScript 中的分号(;)
- JavaScript 中的引号
- JavaScript 字面量模板(Template Literals)指南
- JavaScript 中的 function(函数)
- JavaScript 箭头函数(Arrow Function)
- JavaScript 中的闭包(Closures)
- JavaScript 数组(Arrays)
- JavaScript 中的循环(Loops)
- JavaScript 中的事件(Events)
- JavaScript 中的事件循环(Event Loop)
- JavaScript 异步编程和回调
- 理解 JavaScript 中的 Promises
- 用 async 和 await 编写现代 JavaScript 异步代码
- JavaScript 中的 循环(Loops) 和 作用域(Scope)
- JavaScript 定时器 setTimeout() 和 setInterval()
- JavaScript 中的 this
- JavaScript 严格模式(Strict Mode)
- JavaScript 中的 立即执行函数表达式(IIFE)
- JavaScript 中的数学运算符
- JavaScript 中的 Math 对象
- 介绍 ES Modules(模块)
- 介绍 CommonJS
- JavaScript 术语表
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
介绍 CommonJS
CommonJS 模块规范是 Node.js 中用于处理模块的标准。
在浏览器中运行的客户端 JavaScript 使用另一种 ES Modules。
它们可以让您创建清晰独立且可重复使用的功能片段,每个片段都可以独立测试。
庞大的 npm 生态系统建立在这种 CommonJS 规范之上。
导入模块的语法是:
const package = require('module-name')
在 CommonJS 中,模块是同步加载的,并按照 JavaScript 运行时查找它们的顺序进行处理。 该系统诞生时只考虑了服务器端 JavaScript ,不适合客户端(这就是 ES Modules 推出的原因)。
一个 JavaScript 文件是一个 模块,它可以导出一个或多个定义的符号,它们是变量,函数,对象:
例如 uppercase.js
文件
exports.uppercase = str => str.toUpperCase()
任何 JavaScript 文件都可以导入并且使用这个模块:
const uppercaseModule = require('uppercase.js') uppercaseModule.uppercase('test')
一个简单例子可以在 这个 Glitch 上找到。
你可以导出多个值:
exports.a = 1 exports.b = 2 exports.c = 3
并使用解构赋值单独导入它们:
const { a, b, c } = require('./uppercase.js')
或使用以下方法只导出一个值:
//file.js module.exports = value
然后导入使用:
const value = require('./file.js')
如果你是 JavaScript 新手?并且对模块,模块加载器和模块打包器感到困惑吗?强烈推荐你阅读 JavaScript 模块简史 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论