当前位置:首页 > 编程语言 > 正文内容

使用Express在5分钟内创建和部署Node.js应用程序

a811625532年前 (2023-12-17)编程语言15

是世界上,它使开发人员能够使用 JavaScript 创建后端 *** 服务器。该框架提供了后端开发人员所需的大部分功能,简化了路由和响应 Web 请求的过程。

我们已经为你准备了一份,所以这篇实践文章将向你展示如何使用它。本教程介绍如何使用 Express.js 创建和部署一个 应用程序示例。

如何使用 Express.js 快速创建应用程序

本教程演示了如何创建一个 *** 应用程序,该程序可以接收对端点的请求,使用请求中的参数调用数据库,并以 *** ON 格式从数据库返回信息。

前提条件

要学习本教程,请确保您的计算机上安装了以下工具:

  • – JavaScript 的基本运行环境和包管理器。
  • – 促进软件协作开发的分布式版本控制系统。

Express 应用程序生成器

您可以使用我们的 中概述的流程将 Express 添加到现有的 Node 应用程序中,但如果您要从头开始,还有一个更快捷的选择:。

来自 Express.js 的官方 Express 生成器是一个 Node 包,它允许你生成一个新的应用程序骨架。首先为您的应用程序创建一个文件夹,然后运行 npx 命令(Node.js 8.2.0 中提供)即可完成生成:

mkdir express-application
npx express-generator

成功生成后,终端会显示创建的文件夹/文件列表,以及安装依赖项和运行应用程序的命令。运行以下命令安装依赖项:

npm install

接下来,启动 *** 服务器:

DEBUG=myapp:* npm start

骨架应用程序有一个预建的索引路由,可渲染一个基本主页。你可以访问 localhost:3000 在浏览器中查看。

探索骨架 Express 应用程序

在首选代码编辑器中打开 Express 应用程序后,你会发现一个基本结构构成了 *** 应用程序的骨架。

/
|-- /node_modules
|-- /public
|-- /routes
|-- index.js
|-- users.js
|-- /views
|-- error.jade
|-- index.jade
|-- layout.jade
|-- app.js
|-- package.json
  • node_modules:此目录存储项目的所有已安装依赖项和库。
  • public:包含 CSS、JavaScript、图片等静态资产。这些文件将直接提供给客户端浏览器。
  • routes:包含负责定义各种路由和处理来自不同 URL 的请求的文件。
  • views:包含服务器渲染以创建用户界面的模板或视图。这里的 error.jadeindex.jadelayout.jade 是用 Jade 模板语言编写的模板。它们有助于结构化并向用户呈现动态内容。
  • app.js:该文件通常作为 Express 应用程序的入口点。在这里配置服务器、设置中间件、定义路由以及处理请求和响应。
  • package.json:该文件包含应用程序的元数据。它有助于管理依赖关系和项目配置。

了解路由处理

在 Express 应用程序中,routes 目录是将路由定义为独立文件的地方。主要路由通常称为索引路由,位于 routes/index.js 文件中。

该索引路由处理 GET 请求,并以框架生成的 HTML 网页作为响应。下面的代码片段说明了如何处理 GET 请求,以呈现一个基本的欢迎页面:

var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;

如果将 函数修改为 ,响应类型就会从 HTML 变为 *** ON:

var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.send({ key: 'value' });
});
module.exports = router;

为了扩展功能,在同一文件中添加了另一个路由,引入了一个接受参数的新端点。该代码片段演示了应用程序如何处理不同端点上的流量、提取参数并以 *** ON 格式响应其值:

/* GET a new resource */
router.get('/newEndpoint', function(req, res, next) {
res.send({ yourParam: req.query.someParam });
});

localhost:3000/newEndpoint?someParam=whatever 发送 GET 请求,将产生包含字符串 “whatever” 的 *** ON 输出。

在 Postman 中向本地运行的应用程序发出 GET 请求。

注:必须重新启动 *** 服务器才能有效执行新的更改。

Express 和 Kinsta 应用程序托管

从你的电脑向你的电脑发出 *** 请求固然不错,但只有离开本地主机, *** 开发才算完成。幸运的是,即使需要数据库,Kinsta 也能让应用程序轻松部署到 *** 上。

现在,让我们通过集成数据库功能,并将应用程序和数据库部署到 *** 上,实现从任何计算机访问,来深入探讨如何扩展应用程序的功能。

在将 Express 应用程序部署到 之前,将应用程序的代码和文件推送到您选择的 Git 提供商(、 或 )至关重要。确保在应用程序根目录创建 .gitignore 文件并包含 node_modules ,以防止将这些文件推送到 Git 提供商。

设置好仓库后,请按照以下步骤将 Express 应用程序部署到 Kinsta:

  1. 登录或创建账户,查看 面板。
  2. 通过 Git 提供商授权 Kinsta。
  3. 单击左侧边栏上的 Applications ,然后单击 Add application
  4. 选择要部署的版本库和分支。
  5. 为应用程序指定一个唯一的名称,并选择 Data center location
  6. 接下来配置构建环境。选择标 Standard build machine,并为该演示选择推荐的 选项。
  7. 使用所有默认配置,然后单击 “Create application“。

Kinsta 可与 Express 应用程序生成器配合使用!完成这些步骤后,应用程序将自动开始构建和部署过程。

部署界面将提供 Kinsta 部署应用程序的 URL。您可以添加 /newEndpoint?someParam=whatever 来测试本文前一部分中构建的端点。

如何在 Express 应用程序中添加数据库

对于大多数生产级应用程序来说,拥有一个数据库是必不可少的。

下面介绍如何在 Kinsta 上创建数据库:

1. 导航到 MyKinsta 面板侧边栏上的 Databases 部分。

2. 单击 Create a database。输入名称并选择数据库类型,配置数据库详细信息。

3. 选择 PostgreSQL 选项。Database usernamepassword 将自动生成:

 

添加新数据库的 MyKinsta 数据库配置步骤。

4. 选择与托管 Express 应用程序相同的 Data center location,并配置所需的大小。

5. 确认付款信息并单击 Create database

成功创建数据库后:

  1. 点击访问数据库详细信息。在 “Overview” 页面中,导航至 “Internal connections” 部分。
  2. 选择适当的应用程序。
  3. 选中 Add environment variables to the application 选项。
  4. 单击 Add connection,连接新创建的数据库和应用程序。

接下来,复制新创建数据库的连接字符串,用数据库工具连接数据库。任何 SQL 连接工具都可以,但本演示使用的是 。打开应用程序,点击从 URL 导入,粘贴连接字符串,然后点击导入。这样就可以在刚刚创建的 Kinsta 托管数据库上执行 SQL。

接下来,使用数据库工具对托管数据库执行一些 SQL 语句,创建一个只有一个条目的基本表:

CREATE TABLE "States"
( id integer CONSTRAINT states_pk PRIMARY KEY,
state_name varchar(100),
capital varchar(100),
state_bird varchar(100),
"createdAt" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
"updatedAt" TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
INSERT INTO "States"
VALUES(1, 'ohio', 'columbus', 'cardinal');

将以下数据库软件包添加到项目中:

npm install sequelize pg

依赖项是 Node.js 的 ORM,而 则作为 PostgreSQL 客户端,实现 Node.js 应用程序与 PostgreSQL 数据库之间的交互。

接下来,编写应用代码,接受带有 id 参数的 GET 请求,并返回与该 id 相关联的数据库信息。为此,请相应修改  index.js 文件:

var express = require('express');
var router = express.Router();
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize(process.env.CONNECTION_URI, {
dialect: 'postgres',
protocol: 'postgres',
});
const State = sequelize.define('State', {
// Model attributes are defined here
state_name: {
type: DataTypes.STRING,
allowNull: true,
unique: false
},
capital: {
type: DataTypes.STRING,
allowNull: true,
unique: false
},
state_bird: {
type: DataTypes.STRING,
allowNull: true,
unique: false
},
}, {
// Other model options go here
});
async function connectToDB() {
try {
sequelize.authenticate().then(async () => {
// await State.sync({ alter: true });
})
console.log('Connection has been established successfully.');
} catch (error) {
console.error('Unable to connect to the database:', error);
}
}
connectToDB();
/* GET a new resource */
router.get('/state', async function(req, res, next) {
const state = await State.findByPk(req.query.id);
if (state) {
res.send(state)
} else {
res.status(404).send("state not found");
}
});
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
/* GET a new resource */
router.get('/newEndpoint', function(req, res, next) {
res.send({ yourParam: req.query.someParam });
});
module.exports = router;

提交代码更改并将其推送到 Git 仓库。然后,在 Kinsta 上手动重新部署或等待自动部署。

现在,当你以 id=1 查询 /states 端点时,你将从数据库中收到一个状态。

向 MyKinsta 托管的全功能应用程序发出 GET 请求。

这就是全部内容!您可以。

小结

本文演示了 Express 框架如何让创建和部署 Node.js 应用程序变得快速而简单。只需几个简单的步骤,您就可以使用 Express 生成器创建一个新的应用程序。

在 Node.js 应用程序开发中使用 Express 框架的强大功能和简便性是显而易见的。使用 Kinsta 或者大部分云服务器提供商,您可以将 Express 和 Node.js 带来的动力带入项目的部署阶段,而无需浪费时间进行配置。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8128.html

分享给朋友:

“使用Express在5分钟内创建和部署Node.js应用程序” 的相关文章

宝塔面板教程之主界面管理篇

宝塔面板教程之主界面管理篇

本章节主要是对宝塔面板的主界面的各个版本进行一个简单的说明。 宝塔面板主界面主要包括:服务器操作系统、服务器状态、站点信息、软件管理及网络流量几个部分。 Windows面板有部分功能未实现,其余部分与Linux面板同步。 系统操作...

宝塔面板教程之网站管理篇

宝塔面板教程之网站管理篇

宝塔面板中的网站管理是非常重要的一部分,也是站长经常需要使用到的功能模块。网站管理,主要用于管理和创建WEB站点。如果您是宝塔面板的使用用户,应该对此模块有充分的了解,以便于您更高效地管理网站。 宝塔面板网站管理模块包括:添加新网站、修改默认页、设置默认站点、站点列表、站点的运行与停止、备份站点、...

宝塔面板教程之安全管理篇

宝塔面板教程之安全管理篇

宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...

什么是Node.js以及为什么要使用它

什么是Node.js以及为什么要使用它

JavaScript是世界上最流行的编程语言之一。今天,它为数百万个网站提供支持,并吸引了成群的开发人员和设计人员为Web构建功能。如果您是编程新手,那么 JavaScript很容易成为之一。 在最初的20年里,JavaScript主要用于客户端脚本。由于JavaScript只能在<scr...

MongoDB vs MySQL:哪个是更好的数据库管理系统?

MongoDB vs MySQL:哪个是更好的数据库管理系统?

由于市场上有各种可用的数据库,用户经常会就MongoDB与MySQL进行辩论,以找出更好的选择。 使用MySQL等关系数据库的组织在根据不断变化的需求管理和存储数据时可能会面临一定的困难。同时,新公司想知道选择什么数据库,这样他们就不会在开发过程中遇到问题。 同时,构建金融应用程序的开发人员...

20个最佳Laravel免费和付费教程资源

20个最佳Laravel免费和付费教程资源

Laravel多年来一直是PHP应用程序开发的摇滚明星,这是有充分理由的。庞大的生态系统、活跃的社区、强大的就业市场、成功的初创公司——它拥有一切让采用新技术变得值得的东西。 如果你想学习Laravel,你不需要更进一步。通过浏览本指南,您可以找到最适合您的Laravel教程,与您的知识水平和...