node.js 全局变量的具体使用

全局对象

所有模块都可以调用

  1. global:表示Node所在的全局环境,类似于浏览器中的window对象。
  2. process:指向Node内置的process模块,允许开发者与当前进程互动。
  3. 例如你在DOS或终端窗口直接输入node,就会进入NODE的命令行方式(REPL环境)。退出要退出的话,可以输入 process.exit();
  4. console:指向Node内置的console模块,提供命令行环境中的标准输入、标准输出功能。

全局函数

定时器函数:共有4个,分别是setTimeout(), clearTimeout(), setInterval(), clearInterval()。

require:用于加载模块。

岐王宅里寻常见,崔九堂前几度闻。

全局变量

  • _filename:指向当前运行的脚本文件名。
  • _dirname:指向当前运行的脚本所在的目录。

准全局变量

模块内部的局部变量,指向的对象根据模块不同而不同,但是所有模块都适用,可以看作是伪全局变量,主要为module, module.exports, exports等。

module变量指代当前模块。module.exports变量表示当前模块对外输出的接口,其他文件加载该模块,实际上就是读取module.exports变量。

  • module.id 模块的识别符,通常是模块的文件名。
  • module.filename 模块的文件名。
  • module.loaded 返回一个布尔值,表示模块是否已经完成加载。
  • module.parent 返回使用该模块的模块。
  • module.children 返回一个数组,表示该模块要用到的其他模块。

全局示例代码

// 包含文件名称的全路径
console.log(__filename);
// 文件的路径(不包含文件名称)
console.log(__dirname);

// 定时函数,用法与浏览器中的定时函数类似
var timer = setTimeout(function(){
    console.log(123);
},1000);

setTimeout(function(){
    clearTimeout(timer);
},2000);

// 在Node.js中没有window对象,但是有一个类似的对象global,访问全局成员的时候可以省略global
global.console.log(123456);

// argv是一个数组,默认情况下,前两项数据分别是:Node.js环境的路径;当前执行的js文件的全路径
// 从第三个参数开始表示命令行参数
console.log(process.argv);
// 打印当前系统的架构(64位或者32位)
console.log(process.arch);

到此这篇关于node.js 全局变量的具体使用的文章就介绍到这了,更多相关node.js 全局变量内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Node全局变量global模块

    环境:Node v8.2.1; Npm v5.3.0; OS Windows10 在浏览器中我们有window对象用于挂载全局的变量,在Node中我们有global对象可以进行挂载,很多共用的属性就可以挂载到global对象上了,本身它自己也拥有很多的属性. 1.API结构图 2.一些例子 下面是部分API的例子,对部分API的一个简单代码实现 2.1 global 全局命名空间,通过 global 定义的变量,在任何地方都可以使用,类似于浏览器端定义在全局范围中的变量. // foo.js g

  • nodejs中全局变量的实例解析

    1.global 类似于客户端javascript运行环境中的window module1.js: module.exports={}; //耻辱的使用了全局变量 global.varA = "abc"; 关于global对象,实际使用中可以省去global. 他是默认的根作用域,相当于web环境中的window对象. global 对象有几个挺有用的属性: console.log(__dirname);//当前路径 console.log(__filename);//当前在执行的js

  • node全局变量__dirname与__filename的区别

    (1) __filename变量 node.js中,在任何模块文件内部,可以使用__filename变量获取当前模块文件的带有完整绝对路径的文件名. 在应用程序根目录下新建app.js文件,其中代码如下所示. var testModule1=require('./test/testModule.js'); 在应用程序根目录下新建一个test子目录,在该目录下新建一个testModule.js文件,其中代码如下所示. console.log(__filename); 在命令行窗口中输入"node

  • node.js 全局变量的具体使用

    全局对象 所有模块都可以调用 global:表示Node所在的全局环境,类似于浏览器中的window对象. process:指向Node内置的process模块,允许开发者与当前进程互动. 例如你在DOS或终端窗口直接输入node,就会进入NODE的命令行方式(REPL环境).退出要退出的话,可以输入 process.exit(); console:指向Node内置的console模块,提供命令行环境中的标准输入.标准输出功能. 全局函数 定时器函数:共有4个,分别是setTimeout(),

  • Node.js中环境变量process.env的一些事详解

    前言 最近这两天在和运维GG搞部署项目的事儿.碰到一个问题就是,咱们的dev,uat,product环境的问题. 因为是前后端分离,所以在开发和部署的过程中会有对后端接口的域名的切换问题.折腾了一下午,查询了各种资料这才把这Node环境变量process.env给弄明白. 下面这就做个问题解决的记录.希望能对这个不明白的人有所帮助.话不多说了,来一起看看详细的介绍吧. Node环境变量 首先,咱们在做react.vue的单页应用开发的时候,相信大家对配置文件里的process.env并不眼生.

  • Node.js编写爬虫的基本思路及抓取百度图片的实例分享

    其实写爬虫的思路十分简单: 按照一定的规律发送 HTTP 请求获得页面 HTML 源码(必要时需要加上一定的 HTTP 头信息,比如 cookie 或 referer 之类) 利用正则匹配或第三方模块解析 HTML 代码,提取有效数据 将数据持久化到数据库中 但是真正写起这个爬虫来,我还是遇到了很多的问题(和自己的基础不扎实也有很大的关系,node.js 并没有怎么认真的学过).主要还是 node.js 的异步和回调知识没有完全掌握,导致在写代码的过程中走了很多弯路. 模块化 模块化对于 nod

  • Node.js中对通用模块的封装方法

    在Node.js中对模块载入和执行进行了包装,使得模块文件中的变量在一个闭包中,不会污染全局变量,和他人冲突. 前端模块通常是我们开发人员为了避免和他人冲突才把模块代码放置在一个闭包中. 如何封装Node.js和前端通用的模块,我们可以参考Underscore.js 实现,他就是一个Node.js和前端通用的功能函数模块,查看代码: 复制代码 代码如下: // Create a safe reference to the Underscore object for use below.  var

  • 实现一个完整的Node.js RESTful API的示例

    前言 这篇文章算是对Building APIs with Node.js这本书的一个总结.用Node.js写接口对我来说是很有用的,比如在项目初始阶段,可以快速的模拟网络请求.正因为它用js写的,跟iOS直接的联系也比其他语言写的后台更加接近. 这本书写的极好,作者编码的思路极其清晰,整本书虽说是用英文写的,但很容易读懂.同时,它完整的构建了RESTful API的一整套逻辑. 我更加喜欢写一些函数响应式的程序,把函数当做数据或参数进行传递对我有着莫大的吸引力. 从程序的搭建,到设计错误捕获机制

  • 利用Node.js获取项目根目录的小技巧

    假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中. 实现功能 如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件. 实现方法 在node.js只提供了一个 dirname全局变量.通过 dirname可以获得"C:\wwwroot\yidata\server".这时需要用到path. 首先 import path from 'path'; (ES6)或var path = require (

  • 我的Node.js学习之路(四)--单元测试

    通过NPM安装: npm install nodeunit -g 支持命令行,浏览器运行. 各种断言. 在node.js下模块化对于方法导出exports, 如果是对象导出module.exports,模块儿是单元测试的基础,看下面的node.js代码: var fs = require('fs'), global=require('./global.js'); var utils = { startWith: function(s1, s) { if (s == null || s == "&

  • node.js(express)中使用Jcrop进行图片剪切上传功能

    需求说明 简单来说就是要实现用户上传头像,并且要保存用户裁切后的部分作为用户头像. 第一步,选择图片: 第二步,在弹窗页面中展现并进行裁切: 第三步,点击"保存",上传服务器. 实现过程 说来有点坎坷,相当于做了2遍,走了弯路. 第1遍是用户一选择图片,就进行了上传,然后返回一个地址,所以在弹层上展现的图片已经是服务器上的图片了,然后进行裁切,再保存. 第2遍找到的一个方法,是在第1遍做到裁切处理时候想到的,即弹层展现的是用户机器上选择的图片,不用先上传,但是用image/base64

  • 基于Node.js + WebSocket打造即时聊天程序嗨聊

    前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前后端之间代码敲得飞起,从此由前端晋升为'前后端'. 本文将使用Node.js加web socket协议打造一个网页即时聊天程序,取名为HiChat,中文翻过来就是'嗨聊',听中文名有点像是专为寂寞单身男女打造的~ 其中将会使用到express和socket.io两个包模块,下面会有介绍. 源码 源码

  • 利用Node.js制作爬取大众点评的爬虫

    前言 Node.js天生支持并发,但是对于习惯了顺序编程的人,一开始会对Node.js不适应,比如,变量作用域是函数块式的(与C.Java不一样):for循环体({})内引用i的值实际上是循环结束之后的值,因而引起各种undefined的问题:嵌套函数时,内层函数的变量并不能及时传导到外层(因为是异步)等等. 一. API分析 大众点评开放了查询餐馆信息的API,这里给出了城市与cityid之间的对应关系, 链接:http://m.api.dianping.com/searchshop.json

随机推荐