您现在的位置是:首页 > Javascript
当前栏目
Node.js的模块,有哪些全局变量?
2023-03-20 14:56:37 时间
一、模块的作用
把实现某个功能的函数,放到单独 js 文件中,这个 js 文件就被称模块(module),其他代码只需导入这个 js 文件,即可使用其功能,达到代码复用的目的。当然除了函数,还可以把变量、class放到模块中,实现代码复用。
二、全局变量
模块被 Node.js 加载时,会用函数将其进行包裹,所以就有了5个模块内全局变量:
// Node.js 包裹模块的函数如下:
(function(exports, require, module, __filename, __dirname) {
// 实际模块代码,在这里
});
- exports : 将本模块接口进行导出。另一种表达方式是
module.exports
。 - require : 包含本模块导入其他模块的信息。
require.main
等同于module
。 - module :指向当前模块的引用,包含当前模块的路径、目录等信息。
- __filename :表示当前模块文件的路径(包含模块文件名的全路径)
- __dirname :表示当前模块所在文件夹的路径
三、通过实例查看各变量
创建 example.js
文件,复制如下代码到文件中保存,在终端中执行 node example.js
就可以看到输出结果。
// example.js
const path = require('path');
const { PI } = Math;
console.log("
************************");
// 导出接口(module.exports 等同于 exports)
exports.area = (r) => PI * r ** 2;
module.exports.area1 = (r) => PI * r ** 2;
// 查看本模块导出那些接口
console.log("exports : ", exports, "
************************");
// 查看本模块导入模块的信息
console.log("require : ", require, "
************************");
// 查看 module 对象到底包含什么?
console.log("module : ", module);
console.log("module.exports : ", module.exports, "
************************");
// 查看本模块的完整文件名
console.log("__filename : ", __filename, "
************************");
// 查看本模块的目录
console.log("__dirname : ", __dirname, "
************************");
// 通过path模块提供的方法,来查看本模块的完整文件名
console.log("path.dirname(__filename) : ", path.dirname(__filename));
四、参考文档
相关文章
- JavaScript MV*框架最值得关注的七个亮点
- 前端开发指南:如何利用PHP Cake框架构建应用
- 基于React与Vue后,移动开源项目Weex如何定义未来
- NodeJS和C++之间的类型转换
- jQuery中的常用到的三十九个技巧
- 官宣|Google Developers中国网站发布!
- NodeJS和C++之间的类型转换
- .NET Core首例Office开源跨平台组件(NPOI Core)
- 如何写出漂亮的React组件
- 成为Web开发大师你必须知道的7件事情
- 我在阅读NodeJS文档中读出的19个套路
- JavaScript的内部人士披露其未来发展方向
- JavaScript知识点整理
- 最佳开源内容管理系统(CMS)
- 基于RethinkDB +React Native开发实时移动Web应用程序
- 基于Angular 2 CLI开发CRUD应用程序
- 图解Javascript原型(prototype)链
- 前端开发中的字符编码详解
- Hadoop,Zookeeper这些名字都是怎么来的呢?
- 最全面的前端开发指南