Nodejs 全局对象与模块导入和导出

backend

Nodejs 全局对象与模块导入和导出

全局对象 global

在 node.js 环境中 global 是全局对象,类似于浏览器环境下 JavaScript 的 window 全局对象

Warning

在根作用域下使用关键字 var 声明的变量会挂载到 window 对象上,但是如果在 node.js 环境中则不会,只能使用 global.variableName = value 的显式声明为 global 属性的方式才可以将变量挂载到全局对象上。

导入导出

由于 node.js 对于文件模块的作用域有明显区分,需要使用 module.exportsrequired(path) 的方式来导出和加载不同模块。

js
// 📁 data.js
// 导出变量 data(及其存储的数据)
var data = 2;

module.exports = data;
js
// 📁 app.js
// 导入存放在同级目录下的 data.js 模块,并存放在变量 data 中
var data = require('./data');

console.log(data);   // 2
Tip

可以使用「简写」方式 exports.variable = value 来导出数据或函数,相当于 module.exports = { variable: value } 即以「简写」形式导出的数据会被包含在一个对象中,作为该对象的属性,因此在导入时读取数据要以对象属性的方式来访问。

Warning

如果在模块中使用了 module.exports 的方式来导出,则「简写」形式的导出会被覆盖,而且每个模块只识别第一个 module.exports 语句进行数据导出,以后的导出语句都会忽略。


Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes