在使用 Node.js 和 Yarn 进行开发时,启动项目后有时需要关闭或停止正在运行的服务。本文将详细介绍如何使用 Yarn 启动 Node.js 项目、如何关闭正在运行的服务,以及一些实用的命令和示例代码。

一、使用 Yarn 启动 Node.js 项目

首先,确保你已经安装了 Node.js 和 Yarn。你可以通过以下命令来检查是否正确安装:

node -v
yarn -v

接下来,假设我们有一个简单的 Node.js 项目,目录结构如下:

my-node-app/
  ├── package.json
  └── index.js

package.json 文件可能包含如下内容:

{
  "name": "my-node-app",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "^4.17.1"
  }
}

index.js 文件内容如下:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Hello, Node.js with Yarn!');
});

app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});

启动项目的命令如下:

yarn start

当你运行以上命令时,Node.js 会启动一个 HTTP 服务器。可以通过浏览器访问 http://localhost:3000 来查看运行结果。

二、关闭正在运行的 Node.js 服务

当你完成开发或者想要关闭服务时,有几种方法可以停止 Node.js 应用。以下是几种常见的方法:

1. 使用 Ctrl + C

在许多终端或命令行界面中,你可以通过按下 Ctrl + C 组合键来强制停止正在运行的程序。这是最直接、最常用的方法。

2. 使用进程管理工具

如果你在后台运行 Node.js 服务,可能需要使用进程管理工具来停止服务。常见的工具包括 pm2。以下是一些基本的使用方法:

  1. 安装 pm2

    npm install -g pm2
    
  2. 启动项目:

    pm2 start index.js --name my-node-app
    
  3. 查看正在运行的服务:

    pm2 list
    
  4. 停止服务:

    pm2 stop my-node-app
    
  5. 删除服务:

    pm2 delete my-node-app
    

3. 查找进程并杀死

如果你不知道服务的名称或者没有使用进程管理工具,可以通过以下命令查找运行中的 Node.js 进程并终止它:

  1. 查找 Node.js 进程:

    ps aux | grep node
    

    输出类似于:

    yourusername   12345  0.0  0.1 123456 65432 pts/0    Sl   12:00   0:00 node index.js
    
  2. 使用 kill 命令停止进程:

    kill -9 12345
    

三、总结

在 Node.js 开发中,使用 Yarn 启动和关闭服务是一个常见的任务。我们介绍了多种不同的方法来启动和关闭服务,包括直接在命令行中使用 Ctrl + C、使用进程管理工具 pm2、以及通过查找进程并杀死进程等方式。

类图示例

在开发中,了解服务之间的关系也是重要的。以下是一个简单的类图示例,展示了 Express 应用如何与 Server 进行交互:

classDiagram
    class NodeApp {
        +start()
        +stop()
    }

    class ExpressApp {
        +get(route, handler)
        +listen(port, callback)
    }

    NodeApp --|> ExpressApp : uses

结尾

通过上述介绍,你应该对如何使用 Yarn 启动和关闭 Node.js 服务有了深入的了解。记住,不同的项目和环境下,关闭服务的方法可能会有所不同,选用合适的方式可以帮助提高开发效率。同时,使用工具如 pm2 来管理进程也是一个值得推荐的实践,可以让你的应用更加稳定和高效。希望这篇文章能对你在 Node.js 开发中有所帮助!