我的网站开发技术经验总结 我的网站开发技术经验总结
首页

fangdown

我的网站开发技术经验总结
首页
  • 大前端

    • nodejs

      • nodejs有哪些全局对象,怎么用
        • 是什么
        • 有哪些
          • 全局级别
          • 模块级别
        • 怎么用
        • FAQ
      • 如何在nodejs中实现分页机制功能
      • 如何在nodejs实现文件上传功能
      • 如何实现nodejs鉴权机制,说一下思路
      • 说说nodejs中require的原理
      • 说说nodejs中的EventEmit是如何实现的
      • 说说nodejs中的事件循环机制理解
      • 说说nodejs中进程通信有哪些方式
      • 说说nodejs中间件是什么,如何封装一个中间件
      • 说说对buffer的理解及应用场景
      • 说说对fs模块的理解及常用方法
      • 说说对nodejs的理解及应用场景
      • 说说对process的理解及常用方法
      • 说说对stream的理解及应用场景
      • nodejs如何进行性能监控及优化
      • nodejs批量改文件名
    • git

    • CI

    • 小程序

    • docker

    • Typescript

    • webpack

    • 安全

  • 基础

  • 框架

  • 情商

  • 算法

  • 网络

  • 千锤百炼
  • 大前端
  • nodejs
fangdown
2021-08-12
目录

nodejs有哪些全局对象,怎么用

# 是什么

在浏览器中全局对象是window, 而在nodejs环境中是global

nodejs中变量都是当前模块的,外面变量可以通过require引用,exports暴露

# 有哪些

全局对象分成两类:

  • 真正的全局变量
  • 模块级别的全局变量

# 全局级别

  • global
  • process
  • console
  • setTimeout/setInterval/clearTimeout/clearInterval
  • Buffer

# 模块级别

  • exports
  • require
  • module
  • __dirname
  • __filename

# 怎么用

  • global
  console.log(process === global.process)
  • process
node code/fe-engin/node/process.js fang 10 down
// index.js
process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`);
});

输出结果

0: /usr/local/bin/node
1: /Users/code/fe-engin/node/process.js
2: fang
3: 10
4: down
Type ".help" for more information.
> process
process {
  version: 'v12.16.3',
  versions: {
    node: '12.16.3',
    v8: '7.8.279.23-node.35',
    uv: '1.34.2',
    zlib: '1.2.11',
    brotli: '1.0.7',
    ares: '1.16.0',
    modules: '72',
    nghttp2: '1.40.0',
    napi: '5',
    llhttp: '2.0.4',
    http_parser: '2.9.3',
    openssl: '1.1.1g',
    cldr: '36.0',
    icu: '65.1',
    tz: '2019c',
    unicode: '12.1'
  },
  arch: 'x64',
  platform: 'darwin',
  release: {
    name: 'node',
    lts: 'Erbium',
    sourceUrl: 'https://nodejs.org/download/release/v12.16.3/node-v12.16.3.tar.gz',
    headersUrl: 'https://nodejs.org/download/release/v12.16.3/node-v12.16.3-headers.tar.gz'
  • console 和浏览器无异
  • setTimeout/setInterval/clearTimeout/clearInterval 定时器类
  • Buffer

可以处理二进制以及非Unicode编码的数据

  • exports
console.log(exports) // {}
  • require
[Function: require] {
  resolve: [Function: resolve] { paths: [Function: paths] },
  main: Module {
    id: '.',
    path: '/Users/###/code/fe-engin/node',
    exports: {},
    parent: null,
    filename: '/Users/###/code/fe-engin/node/exports.js',
    loaded: false,
    children: [],
    paths: [
      '/Users/###/code/fe-engin/node/node_modules',
      '/Users/###/code/fe-engin/node_modules',
      '/Users/###/code/node_modules',
      '/Users/###/node_modules',
      '/Users/###/Desktop/fangdown/github/node_modules',
      '/Users/###/Desktop/fangdown/node_modules',
      '/Users/###/Desktop/node_modules',
      '/Users/###/node_modules',
      '/Users/node_modules',
      '/node_modules'
    ]
  },
  extensions: [Object: null prototype] {
    '.js': [Function],
    '.json': [Function],
    '.node': [Function]
  },
  cache: [Object: null prototype] {
    '/Users/###/code/fe-engin/node/exports.js': Module {
      id: '.',
      path: '/Users/###/code/fe-engin/node',
      exports: {},
      parent: null,
      filename: '/Users/###/code/fe-engin/node/exports.js',
      loaded: false,
      children: [],
      paths: [Array]
    }
  }
}

  • module
Module {
  id: '.',
  path: '/Users/###/code/fe-engin/node',
  exports: {},
  parent: null,
  filename: '/Users/###/code/fe-engin/node/exports.js',
  loaded: false,
  children: [],
  paths: [
    '/Users/###/code/fe-engin/node/node_modules',
    '/Users/###/code/fe-engin/node_modules',
    '/Users/###/code/node_modules',
    '/Users/###/node_modules',
    '/Users/###/Desktop/fangdown/github/node_modules',
    '/Users/###/Desktop/fangdown/node_modules',
    '/Users/###/Desktop/node_modules',
    '/Users/###/node_modules',
    '/Users/node_modules',
    '/node_modules'
  ]
}
  • __dirname
/Users/###/Desktop/fangdown/github/app-blog/code/fe-engin/node
  • __filename
/Users/###/Desktop/fangdown/github/app-blog/code/fe-engin/node/exports.js

# FAQ

#nodejs
上次更新: 2021/12/19, 18:05:42
如何在nodejs中实现分页机制功能

如何在nodejs中实现分页机制功能→

最近更新
01
多分支修复撞车的问题
05-01
02
如何成为架构师
01-23
03
服务器部署全过程
11-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 fangdown | 粤ICP备19079809号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式