全局对象和模块规范
原创2026/3/5大约 2 分钟
全局对象 💎

在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。
全局变量可以直接进行使用,不需要引入。
__filename:表示当前正在执行的脚本的文件名,输出文件所在位置的绝对路径
__dirname:表示当前执行脚本所在的目录
setTimeout(cb, ms)
clearTimeout(t)
setInterval(cb, ms)
console
process:用于描述当前Node.js 进程状态的对象,提供了一个与操作系统的简单接口
process.exit()—退出当前的node进程
process.env—获取所有环境变量
process.on('uncaughtException',callFn)—捕获未捕获的异常
console.log(__filename)
// C:\Users\48642\Desktop\mark\docs\nodejs\nodejs\aaindex.js
console.log(__dirname)
// C:\Users\48642\Desktop\mark\docs\nodejs\nodejs
setTimeout(() => {
console.log(123)
}, 10000)
// console.log(process.env);
const someThingsError = () => {
throw new Error('我报错了')
// console.log('程序运行中无异常');
}
process.on('uncaughtException', (err) => {
// 该监听一定要放到运行程序的上面,否则捕捉不到
console.log('程序运行中有异常')
})
someThingsError() // 该程序中有错误,如果不解决整个程序将会无法运行,当然使用try...catch...是可以的,没有使用的话异常也会在全局的 `uncaughtException`中进行捕获处理
process.exit() // 不会等待定时器执行,直接结束进程模块规范 💎

Node.js模块规范遵循CommonJs模块规范。
require —导入要使用的模块
module.exports—导出要供其它模块使用的功能
exports—导出要供其它模块使用的功能
注意
不可以直接对exports赋值,应使用exports.key=value
导出
const add = (num1, num2) => {
return num1 + num2
}
const add1 = (num1, num2) => {
return num1 + num2
}
// 方式一:导出单个
// module.exports = add
// 方式二:使用 exports导出单个
// exports.add1 = add1
//方式三:导出多个
module.exports = {
add,
add1,
}导入
// 导入方式一:
// const add = require("./aaaindex");
// console.log(add(1, 2));
// 导入方式二:
// const { add1 } = require("./aaaindex");
// console.log(add1(2, 3));
// 导入方式三:
const { add, add1 } = require('./aaaindex')
console.log(add(1, 1))
console.log(add1(2, 3))至此,本章节的学习就到此结束了,如有疑惑,可对接技术客服进行相关咨询。