跳至主要內容

1.3 全局对象和模块规范 🎉

刘春龙...大约 2 分钟NODEJSNODE后端nodejs

1.3 全局对象和模块规范 🎉

全局对象 💎

在浏览器 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
}
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7