Node.js风格的CommonJS模块

CommonJS 模块用于在服务器环境中使用,而 Node.js 使用了 CommonJS 模块的轻微修改版本,本文就介绍这种 Node.js 风格的 CommonJS 模块。

模块就是以 .js 为扩展名的 JavaScript 文件。

1.导出

Node.js 通过将需要导出的模块成员赋值给 module.exports 来实现导出。

同一个模块中可以同时存在多个 module.exports = 值 ,后定义的 module.exports = 值 会覆盖先定义的 module.exports = 值

//module.exports的类型
console.log(typeof module.exports);  // "object"
//module.exports的默认值
console.log(module.exports);         // {}

1.1导出一个对象字面量

module.exports 的值为一个对象字面量,对象字面量的属性为需要导出的模块成员。

//前缀方式(前面的module.可以省略,一般不推荐省略)
[module.]exports.成员名1 = 成员定义1;
[module.]exports.成员名2 = 成员定义2;
[module.]exports.成员名N = 成员定义N;
//末尾方式
成员定义1
成员定义2
成员定义N

module.exports = { 成员名1, 成员名2, 成员名N };

1.2导出一个模块成员

module.exports 的值为一个模块成员。

//前缀方式
module.exports = 成员定义;
//末尾方式
成员定义

module.exports = 成员名;

2.导入

require() 函数的返回值是 '模块标识符' 导出的模块成员。

//模块标识符格式
//绝对路径
require('/module.js');
//相对路径
require('./module.js');
require('../module.js');

//Node.js内置模块
require('node:http');

//npm包内模块
require('包名');

2.1返回值为一个对象字面量

//使用解构赋值只导入打算使用的模块成员
const { 成员名1, 成员名2, 成员名N } = require('模块标识符');

2.2返回值为一个模块成员

const 常量名 = require('模块标识符');

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/javascriptexp/21371.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2023年3月2日 11:26
下一篇 2023年5月11日 23:17

相关推荐

  • 使用JavaScript的三种方式

    1.内联(Inline)方式 内联(Inline)方式,又称为行内方式。往往用于单个元素。 2.内部(Internal)方式 往往用于单个网页。 3.外部(External)方式 往往用于所有网页。 4.优先级 比如上面的示例中 myFunction() 事件处理程序函数,当同时存在多种使用 JavaScript 的方…

    JavaScript经验 2023年10月11日
    08120
  • 使用ES模块的两种方式

    无论是内部方式还是外部方式,带有 type=”module” 属性的 <script> 标签会告诉浏览器相关代码应该作为模块执行,而不是作为普通的脚本执行。 无论是内部方式还是外部方式,一个 HTML 页面有多少个 type=”module” 属性的 <script> 标签没有限制。 无论是内部…

    JavaScript经验 2024年1月16日
    01.1K0
  • nodejs -v与node -v的区别

    笔者在使用 Node.js 的时候发现有 nodejs -v 和 node -v 两个命令,经过一番测试后,总结如下: 如果从 Ubuntu 操作系统官方源里面安装的 Node.js,命令用 nodejs -v,例如: 如果从 Ubuntu 操作系统以外的第三方源(包括snap) 或者 通过 n、node-build、…

    JavaScript经验 2020年9月12日
    04.5K0

发表回复

登录后才能评论