注:本文为 《 JavaScript 完全手册(2018版) 》第35节,你可以查看该手册的完整目录。
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')
一个简单例子可以在 上找到。
你可以导出多个值:
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 模块简史 。
最新评论
写的挺好的
有没有兴趣翻译 impatient js? https://exploringjs.com/impatient-js/index.html
Flexbox playground is so great!
感谢总结。
awesome!
这个好像很早就看到类似的文章了
比其他的教程好太多了
柯理化讲的好模糊…没懂