很长一段时间,浏览器是唯一可以执行 JavaScript 代码的地方。 Web 开发人员必须在前端使用与后端不同的编程语言。 这也意味着,即使 JavaScript 演变成一种更健壮和强大的语言,它仍然是一种仅限前端的语言。
尽管曾多次尝试创建浏览器外的 JavaScript 环境,但由 Ryan Dahl 于 2009 年发明的Node达到了前所未有的流行度,目前正被包括 Netflix、Uber、Paypal 和 eBay 在内的众多顶级公司使用。Node.js 是一个 JavaScript 运行时 ,或者是一个允许我们在浏览器之外执行 JavaScript 代码的环境。 “运行时”转换用 高级 、人类可读的编程语言编写的代码,并将其编译为计算机可以执行的代码。
尽管 Node 的创建目标是用 JavaScript 构建 Web 服务器和 Web 应用程序,但它也可用于创建命令行应用程序或桌面应用程序。 对于更高级的开发,Node 可以与任意数量的健壮框架(如 结合使用, Express.js 框架) 以创建有效的 Web 应用程序后端。
核心模块
模块化 是一种软件设计技术,其中一个程序具有不同的部分,每个部分都提供整体功能的一个部分。 这些独立的 模块 聚集在一起构建了一个有凝聚力的整体。 模块化对于创建可扩展的程序至关重要,这些程序包含库和框架,并将程序的关注点分成可管理的块。 本质上,模块是位于文件中的代码***。 不是将整个程序放在单个文件中,而是根据它们解决的问题将代码组织到单独的文件中。 然后可以使用这些文件将这些文件包含在其他文件中 require()功能。
为了避免开发人员每次都重新发明轮子,Node.js 有几个内置模块可以高效地执行常见任务。 这些被称为 核心模块 。 核心模块在 Node.js 的源代码中定义,位于 lib/ 文件夹中。 可以通过将带有模块名称的字符串传递到 require()功能。
Node 包管理器或 npm 是软件的在线***或注册表。 开发人员可以共享他们编写到注册中心的代码或下载其他开发人员提供的代码以在 Node.js 项目中使用。
除了核心 Node.js 模块之外,开发人员还可以利用其他开发人员创建的模块。 这些第三方模块通常可以解决常见问题并简化开发过程。 当我们在代码中使用这些模块时,它们被称为 依赖项 。
那么,你去哪里找到这些依赖项呢? 大多数情况下,这些依赖项由包管理器处理 。 包管理器是必不可少的工具,它可以:
下载并安装 的 包 要用作项目依赖项 。检查软件包以确保它们没有任何已知的漏洞。在新版本的软件包发布时提供更新。处理所有包的子依赖项。当一个包不再需要时,干净地删除它的所有文件。到目前为止,更流行的包管理器是 npm 。 npm 是 Node.js 的默认包管理器,它的命令行工具包含在 Node.js 安装过程中。 该工具使开发人员能够通过终端与注册表进行交互。
在 npm 注册表中,开发人员创建了数十万个包,其中包括等功能强大且流行的框架 Express 。 可以在 npm 官网上浏览到。