Node.js全局变量简介

737 阅读6分钟

Node.js Global Variable

Node.js全局变量简介

全局变量是在代码中全局声明的,并且可以在代码中的任何地方访问。同时,node.js有一些全局对象,这些对象是全局可用的。这些对象是用来帮助编码的。有些功能已经在node.js中全局地写好了。所以我们可以通过这些全局变量直接访问它。这些对象可以帮助程序员在更短的时间内编写所需的代码。全局变量或对象不过是程序员所需要的重复性任务。全局本身表明,这是语言中内置的,任何人都可以使用。在本专题中,我们将学习Node.js全局变量。

全局变量如何在Node.js中工作?

Node js有全局对象可以使用,但是是在文件级别。在Node js中,文件只不过是一个独立的模块。

我们知道,为了获得任何变量或对象的输出,或者为了调试目的,我们主要使用console.log()语句。或者像setTimeOut()这样的函数。那么,我们如何才能在任何nodejs程序中毫无问题地使用这个语句呢?你想过这个问题吗?如果不用担心。它是作为一个全局对象工作的。而这就是它帮助我们的方式。我们还有很多其他的对象和函数可以在nodejs中全局使用。

如果你熟悉javascript,那么你一定知道,我们有一个window对象。这是一个全局对象,一些变量和函数是在这个对象下全局定义的。因此,例如,我们已经看到了一个console.log()语句。但在node中,我们有一个不同的场景。Node是一个服务器端的JavaScript运行环境。这意味着窗口对象是针对浏览器的。所以它对node js没有帮助。所以在node js中,我们有一个叫做global的对象。因此,无论我们在nodejs中使用什么函数而不创建它们,都来自于这个全局对象。

这里需要注意的是,如果我们在nodejs中声明任何变量,那么它不会被添加到它的全局范围。那么我们如何实现这一点呢?在node js中,我们有一个文件系统。每个变量或函数的作用域都只限于该文件。我们在这里用node js创建的每个文件在node js中被称为一个模块。无论我们在该模块中写了什么,都只对该模块有作用域。

我们如何在node js中全局使用var或函数?

以下是我们在node js中的一些全局对象。当然,还有很多,但最令人印象深刻和使用最广泛的是下面这些。我们还将看到其中一些的例子。现在让我们来看看具体的定义,它是做什么的。

  • 进程。 Process是Nodejs中的一个模块,它为你提供了关于节点版本和当前节点进程的详细信息。由于这是全局性的,所以在node js应用程序中不需要函数就可以使用**。** 进程是EventEmitter的一个实例。

如果你在node js命令提示符上输入process并点击回车,那么你会得到更多关于这个对象的信息。

  • require() :这 个函数我们在node js中使用的最多。它用于在当前模块中导入模块。模块可以从node模块中导入。
  • 模块。 我们可以说,它的工作原理与require完全相反。这个对象是用来导出模块的。我们可以使用module.export来导出任何模块。Module.exports也可以被exports使用。这是每个模块的本地对象。
  • exports:这 是对module.exports的引用。exports是使用module.exports的一种简短方式。我们必须知道什么时候使用什么。这也是一个文件级范围。
  • __dirname: 我们将看到这个例子。但是现在,只要记住我们可以得到一个文件的目录。对于动态使用 envirom 特定的文件位置,这是一个非常有用的模块。
  • __filename: 和__dirname模块一样,我们也用来获取文件名和目录。

Node.js全局变量的例子

下面提到了不同的例子。

例子 #1

__dirname:

假设我们有一个文件,想知道这个文件位于哪个目录下,那么node js中的__dirname全局变量将帮助我们。

打开一个文件,在里面写上下面的代码。并将其保存为一个适当的名称,扩展名为.js。我们将其保存为global1.js。

Console.log(__dirname);

通过以下命令运行该文件

命令。

node global.js

之后,运行下面的命令

命令。

node global1

输出。

Node.js Global Variable output 1

例子 #2

现在,如果我们想知道文件名,我们把__filename作为一个全局变量。这将显示文件名和路径。

我们将在上述相同的文件中编写代码,也就是 global1.js。我们将按照同样的过程来运行它。

语法。

console.log( __filename);

命令:

node global1

输出。

如果你仔细观察输出,我们也得到了文件名,即global1。

Node.js Global Variable output 2

现在,如果你仔细观察输出,你会发现文件名也被打印出来了。所以,试着复制同样的代码运行它。

例子 #3

假设我们想在我们当前的应用程序中使用文件系统模块。那么你可以用必要的方法导入它,如下面的例子所示。

const fs = require(“FileSystem”);

我们也可以用这个语句导入本地文件。

例子:

const fileOne = require(‘./path/myfolder/fileOne’)

优点

  • 主要的好处是可以重复使用
  • 当其他模块需要某些功能时,我们可以很容易地导出它,然后将其导入我们的模型中。
  • 易于编程,使处理不同需求的方式更加顺畅。
  • 它通过使用现成的功能减少了程序员的超负荷工作。
  • 它给出了在不同环境中使用动态方法的更容易的方式。
  • 它提供了编写程序的灵活性。

总结

每种语言都有自己的声明和使用变量的方式,nde js如此。这确实是一个优势,但不是所有的时候都是如此。Node js有一种基于模块的方法来处理全局对象。这在nodejs中更有帮助。一旦你理解了它们的工作方式,对于node js的初学者来说,这将是一个优势。

推荐文章

这是一个关于Node.js全局变量的指南。在这里,我们讨论了如何在node js中全局使用var或函数以及输出的例子。你也可以看看下面的文章来了解更多------。

  1. Node.js缓冲区
  2. Node.js文件系统
  3. Node.js路径
  4. 架构