Node.js后端模板

一个基于Node.js的核心交付平台后端模板,适用于快速开发和部署后端服务。

  • by DEFRA
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 defra/node-mcp-server-demo

使用说明

node-mcp服务器演示

核心交付平台Node.js后端模板。

需求

Node.js

请安装 Node.js >= v22 和 npm >= v9你会找到的 更易于使用节点版本管理器 节点版本管理器

要为此应用程序使用正确版本的Node.js,请通过nvm:

cd node-mcp-server-demo
nvm use

地方发展

设置

创建一个 .env 项目目录根目录中的文件。

touch .env

安装应用程序依赖关系:

npm install

发展

在中运行应用程序 development 模式运行:

npm run dev

测试

要测试应用程序运行,请执行以下操作:

npm run test

生产

模拟在中运行的应用程序 production 本地运行模式:

npm start

Npm脚本

所有可用的Npm脚本都可以在中看到 package.json 要在命令行中查看它们,请运行:

npm run

开发助手

MongoDB锁

如果您需要Mongo的写锁,可以通过以下方式获取 server.locker 或 request.locker:

async function doStuff(server) {
  const lock = await server.locker.lock('unique-resource-name')

  if (!lock) {
    // Lock unavailable
    return
  }

  try {
    // do stuff
  } finally {
    await lock.free()
  }
}

保持它的小和原子性。

您可以使用 使用 用于锁资源管理。 请注意,测试覆盖率报告不喜欢这种语法。

async function doStuff(server) {
  await using lock = await server.locker.lock('unique-resource-name')

  if (!lock) {
    // Lock unavailable
    return
  }

  // do stuff

  // lock automatically released
}

辅助方法也可在 /src/helpers/mongo-lock.js.

码头工人

发展形象

构建:

docker build --target development --no-cache --tag node-mcp-server-demo:development .

运行:

docker run -e PORT=3000 -p 3000:3000 node-mcp-server-demo:development

生产图片

构建:

docker build --no-cache --tag node-mcp-server-demo .

运行:

docker run -e PORT=3000 -p 3000:3000 node-mcp-server-demo

Docker Compose

当地环境包括:

  • AWS服务的本地堆栈(S3、SQS)
  • 雷迪斯
  • MongoDB
  • 这项服务。
  • 一个被注释掉的前端示例。
docker compose up --build -d

许可证

本信息根据以下公开政府许可证的条件获得许可:

http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3

使用此信息时,必须在您的产品和应用程序中引用以下归因声明。

包含根据开放政府许可证v3许可的公共部门信息

关于许可证

开放政府许可证(OGL)由英国文具办公室(HMSO)总监制定,以使 公共部门的信息提供者在共同的公开协议下许可其信息的使用和再使用 许可证。

它旨在鼓励自由灵活地使用和重复使用信息,只有少数条件。