美文网首页
CommonJS 笔记

CommonJS 笔记

作者: 鐘濤 | 来源:发表于2017-11-18 12:51 被阅读0次

CommonJS 规范是什么?

在 ES6 之前 JavaScript 是没有模块的概念的,而 Python 有 import 机制,PHP 有 include 和 require 。CommonJS 有一个美好的愿景就是构建 JavaScript 的生态系统,让 JavaScript 也能够运用于 Web 服务器、桌面程序、命令行程序等,进而制定一系列的规范。而这只是一些理论,理论通常要通过实践,才能更好的推广,Node.js 借鉴了 CommonJS 的模块规范,所以 JavaScript 生态系统才变得繁荣。

模块(Modules)规范

每个文件都是一个模块,拥有独立的作用域,对其他文件是不可见的。

CommonJS 模块的定义有三点:

  • 模块定义

    // hello.js 文件
    module.exports = function (){
        console.log('hello CommonJS');
    }
    
  • 模块引用

    let hello = require('./hello');
    hello(); //  打印出 hello CommonJS
    
  • 模块标识

    模块标识其实就是传递给 require() 的参数,详细可以看下面 require() 小节。

image.png

Module 对象

Node.js 内部提供一个 Module 构建函数。所有模块都是 Module 的实例。在每个模块中,在文件中变量 module 是一个指向表示当前模块的对象的引用,所以 module.exports 也可以写成 exports,为什么可以这样写,因为 exports 等同于 var exports = module.exports

The exports variable is available within a module's file-level scope, and is assigned the value of module.exports before the module is evaluated.

参考资料

相关文章

  • CommonJS 笔记

    CommonJS 规范是什么? 在 ES6 之前 JavaScript 是没有模块的概念的,而 Python 有 ...

  • 学习笔记《CommonJS》

    2009年1月的时候,Kevin Dangoor 写了这篇文章,开始了 CommonJS 的故事http://ww...

  • Commonjs规范

    CommonJS和AMD CommonJS Nodejs的模块系统就采用CommonJS模式。CommonJS标准...

  • NodeJS学习笔记——CommonJS

    前言 陆陆续续两三天,一直在寻找好的学习资源,想跟着一套视频一直学习完整个系列过程,NodeJS发展实在太快,很多...

  • 3.webpack自动生成项目中的HTML文件

    1. webpack中的CommonJS和ES Mudule 规范 1.1 CommonJs规范 CommonJs...

  • JS模块化

    模块化规范:CommonJS,AMD,CMD,UMD,ES6 Module CommonJS CommonJS是服...

  • CommonJs和ES Module

    什么是CommonJS CommonJS is a project with the goal to establ...

  • js模块化

    CommonJS CommonJS规范是诞生比较早的。NodeJS就采用了CommonJS。是这样加载模块: 这种...

  • node学习2

    什么是CommonJs? CommonJs就是模块化的标准,nodejs就是CommonJs(模块化)的实现 No...

  • JS module 导入与导出(commonJS、ES6)

    commonJS 规范导出、commonJS 规范导入 ES6导出、ES6导入 commonJS 规范导出,ES6...

网友评论

      本文标题:CommonJS 笔记

      本文链接:https://www.haomeiwen.com/subject/sixrvxtx.html