如果您是第一次使用 Node.js,那么本指南将帮助您入门一些基本知识。
先决条件
- 在
Windows 或适用于 Linux 的Windows 子系统上安装 Node.js
通过 Visual Studio Code 试用 NodeJS
如果尚未安装 Visual Studio Code,请返回到上述先决条件部分,并按照 Windows 或 WSL 链接的安装步骤进行作。
打开命令行并创建新目录:
mkdir HelloNode
然后输入目录:cd HelloNode
使用以下命令在 VS Code 中打开目录:
code .
创建名为“app.js”的文件
将一个简单的字符串“Hello World”添加到名为
msg
的变量,然后通过在“app.js”文件中输入以下内容将字符串的内容发送到控制台:var msg = 'Hello World'; console.log(msg);
要使用 Node.js运行“app.js”文件。 通过在 VS Code 中选择 视图>终端(或使用反引号字符选择 Ctrl+`),打开终端。 如果需要更改默认终端,请选择下拉菜单,然后选择 “选择默认 Shell”。
在终端中,输入:
node app.js
应会看到输出:“Hello World”。
注释
请注意,当你在“app.js”文件中键入console
时,VS Code 将显示与console
对象相关的支持选项,供你通过 IntelliSense 进行选择。 尝试使用其他 JavaScript 对象来试验 Intellisense。
使用 Express 创建第一个 NodeJS Web 应用
Express 是一种极简、灵活且简化的 Node.js 框架,可更轻松地开发可处理多种类型的请求(如 GET、PUT、POST 和 DELETE)的 Web 应用。 Express 附带一个应用程序生成器,该生成器会自动为应用创建文件体系结构。
若要使用 Express.js创建项目,请执行以下步骤:
打开命令行界面(命令提示符、Powershell 或您喜欢的任何工具)。
创建新项目文件夹:
mkdir ExpressProjects
并输入该目录:cd ExpressProjects
使用 Express 创建 HelloWorld 项目模板:
npx express-generator HelloWorld --view=pug
注释
我们在此处使用
npx
命令执行 Express.js Node 包,而无需实际安装它(或者通过临时安装它,具体取决于你的想法)。 如果尝试使用express
命令或检查安装的 Express 版本:express --version
,将收到无法找到 Express 的响应。 如果要全局安装 Express 以反复使用,请使用:npm install -g express-generator
可以使用 npmnpm list
查看已安装的包列表。 它们将按深度列出(嵌套目录的层数)。 安装的包深度为 0。 该包的依赖项位于深度 1,深度 2 的依赖项是对此的进一步依赖,以此类推。 若要在 StackOverflow 上了解详细信息,请参阅 npx 和 npm 之间的差异。在 VS Code 中打开项目,以检查 Express 包含的文件和文件夹:
code .
Express 生成的文件将创建一个 Web 应用,并采用一种架构,这种架构起初可能会显得有点复杂。 在您的 VS Code 资源管理器 窗口(按 Ctrl+Shift+E 查看)中,将显示已生成的以下文件和文件夹:
-
bin
。 包含启动应用的可执行文件。 如果没有提供其他选项,它将启动一个服务器(默认为端口3000)并设置基本错误处理。 -
public
。 包含所有公开访问的文件,包括 JavaScript 文件、CSS 样式表、字体文件、图像以及用户连接到网站时所需的任何其他资产。 -
routes
。 包含应用程序的所有路由处理程序。 此文件夹中自动生成两个文件index.js
users.js
,用作如何分离应用程序的路由配置的示例。 -
views
。 包含模板引擎使用的文件。 调用呈现方法时,Express 配置为在此处查找匹配视图。 默认模板引擎为 Jade,但 Jade 已被弃用,转而支持 Pug,因此我们使用了--view
标志来更改视图(模板)引擎。 可以使用--view
查看express --help
标志选项和其他选项。 -
app.js
。 应用程序的起始点。 它会加载所有内容并开始为用户请求提供服务。 它基本上是将所有部件结合在一起的粘合剂。 -
package.json
。 包含项目说明、脚本管理器和应用清单。 其主要目的是跟踪应用的依赖项及其各自的版本。
-
现在,需要安装 Express 使用的依赖项,以便生成和运行 HelloWorld Express 应用(用于运行服务器等任务的包,如文件中定义
package.json
)。 在 VS Code 中,选择 视图>终端(或使用反引号字符选择 Ctrl+`)以打开终端,确保你仍在“HelloWorld”项目目录中。 使用以下命令安装 Express 包依赖项:npm install
此时,你已为可以访问各种 API 和 HTTP 实用工具方法和中间件的多页 Web 应用设置框架,以便更轻松地创建可靠的 API。 通过输入以下命令在虚拟服务器上启动 Express 应用:
npx cross-env DEBUG=HelloWorld:* npm start
小窍门
DEBUG=myapp:*
上述命令的一部分意味着告知 Node.js 要打开日志记录以进行调试。 请记住将“myapp”替换为你的应用名称。 可以在您的package.json
文件中的“name”属性下找到应用名称。 使用npx cross-env
在任何终端中设置DEBUG
环境变量,但也可以使用特定于终端的方式对其进行设置。 该npm start
命令告知 npm 在文件中运行脚本package.json
。现在,可以通过打开 Web 浏览器并转到:localhost:3000
现在,HelloWorld Express 应用在浏览器中在本地运行,请尝试通过在项目目录中打开“views”文件夹并选择“index.pug”文件来进行更改。 打开后,切换到
h1= title
h1= "Hello World!"
并选择“保存”(Ctrl+S)。 通过在 Web 浏览器中刷新 localhost:3000 URL 来查看更改。若要停止运行 Express 应用,请在终端中输入: Ctrl+C
尝试使用 Node.js 模块
Node.js 有工具可帮助你开发服务器端 Web 应用,一些内置应用,并通过 npm 提供更多工具。 这些模块可以帮助完成许多任务:
工具 | 用于 |
---|---|
gm,锐利 | 直接在 JavaScript 代码中进行图像操作,包括编辑、调整大小、压缩等 |
PDFKit | PDF 生成 |
validator.js | 字符串验证 |
imagemin、UglifyJS2 | 缩小 |
spritesmith | 子画面工作表生成 |
温斯顿 | 伐木业 |
commander.js | 创建命令行应用程序 |
让我们使用内置 OS 模块获取有关计算机作系统的一些信息:
在命令行中,打开 Node.js CLI。 输入后,会看到
>
提示,告知你正在使用 Node.js:node
若要确定你当前使用的作系统(应返回一个响应,告知你在 Windows 上),请输入:
os.platform()
若要检查 CPU 的体系结构,请输入:
os.arch()
若要查看系统上可用的 CPU,请输入:
os.cpus()
输入
.exit
或按下两次 Ctrl+C 来退出 Node.js CLI。小窍门
可以使用 Node.js OS 模块来执行操作,例如检查平台并返回特定于平台的变量:适用于 Windows 开发的 Win32/.bat,以及用于 Mac/Unix 的 darwin/.sh、Linux、SunOS 等(例如,
var isWin = process.platform === "win32";
)。