创建并运行 Express.js 项目
什么是 Express.js?
Express.js 是一个基于 Node.js 的快速、开放、极简的 Web 应用框架。它提供了一系列强大的功能,用于构建单页、多页和混合型 Web 应用。Express.js 是 Node.js 生态系统中最受欢迎的框架之一,因其简洁和灵活的设计而深受开发者喜爱。
Express.js 的主要特性和优势
- 简洁和灵活:Express.js 提供了简洁的 API 和灵活的中间件机制,使得开发 Web 应用变得非常高效。
- 中间件:支持多种中间件,可以轻松处理请求和响应。
- 路由:强大的路由功能,可以根据不同的 HTTP 方法和 URL 路径处理请求。
- 集成性强:可以与各种模板引擎、数据库和其他 Node.js 模块无缝集成。
- 社区和生态系统:拥有庞大的社区和丰富的第三方中间件和插件支持。
使用 Express.js,可以帮助开发者快速构建高性能的 Web 应用和 API。
使用 ServBay 创建并运行 Express.js 项目
在这篇文章中,我们将使用 ServBay 提供的 Node.js 环境来创建并运行一个 Express.js 项目。我们将使用 ServBay 的『主机』功能来设置 Web 服务器,并通过反向代理来实现项目的访问。
创建 Express.js 项目
初始化项目
首先,确保您已经安装了 ServBay 提供的 Node.js 环境。然后,使用以下命令初始化一个新的 Express.js 项目:
bashcd /Applications/ServBay/www npx express-generator servbay-express-app
1
2安装依赖
进入项目目录并安装依赖:
bashcd servbay-express-app npm install
1
2
修改 Express.js 项目输出内容
修改
routes/index.js
文件打开
routes/index.js
文件,修改内容使网页输出 "Hello ServBay!":javascriptvar express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.send('Hello ServBay!'); }); module.exports = router;
1
2
3
4
5
6
7
8
9
进入开发模式
运行开发服务器
启动开发服务器并指定端口(例如:8585):
bashPORT=8585 DEBUG=servbay-express-app:* npm start
1这将会在本地启动一个开发服务器,并暴露端口 8585。
配置 ServBay 主机反向代理
使用 ServBay 的『主机』功能,通过反向代理来访问开发服务器。在 ServBay 的『主机』设置中,添加一个新的反向代理:
- 名字:
My first Express.js dev site
- 域名:
servbay-express-test.dev
- 主机类型:
反向代理
- IP:
127.0.0.1
- 端口:
8585
详细设置步骤请参考添加Nodejs开发的网站。
- 名字:
访问开发模式
打开浏览器,访问
https://servbay-express-test.dev
,实时查看项目。由于 ServBay 支持自定义域名以及免费的 SSL 证书,您将享受到更高的安全性。
部署生产版本
准备生产环境
确保您的项目在生产环境中可以正常运行。通常,Express.js 项目不需要特别的构建步骤,但您可能需要设置一些环境变量或进行其他配置。
运行生产服务器
启动生产服务器并指定端口(例如:8586):
bashPORT=8586 NODE_ENV=production npm start
1配置 ServBay 主机反向代理
使用 ServBay 的『主机』功能,通过反向代理来访问生产服务器。在 ServBay 的『主机』设置中,添加一个新的反向代理:
- 名字:
My first Express.js production site
- 域名:
servbay-express-test.prod
- 主机类型:
反向代理
- IP:
127.0.0.1
- 端口:
8586
- 名字:
访问生产模式
打开浏览器,访问
https://servbay-express-test.prod
,查看生产版本。通过 ServBay 的自定义域名和免费的 SSL 证书,您的网站将具有更高的安全性和可信度。
数据库连接
ServBay 提供了 Redis、MariaDB、PostgreSQL 和 MongoDB 数据库支持。以下是如何连接这些数据库的示例。
连接 MongoDB
安装
mongoose
:bashnpm install mongoose
1然后在项目中引入并连接:
javascriptvar mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-express-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3连接 Redis
安装
redis
:bashnpm install redis
1然后在项目中引入并连接:
javascriptvar redis = require('redis'); var client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6连接 MariaDB
安装
mariadb
:bashnpm install mariadb
1然后在项目中引入并连接:
javascriptvar mariadb = require('mariadb'); var pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_express_app' }); pool.getConnection() .then(conn => { console.log("Connected to MariaDB"); conn.release(); //release to pool }) .catch(err => { console.log("Not connected due to error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16连接 PostgreSQL
安装
pg
:bashnpm install pg
1然后在项目中引入并连接:
javascriptvar { Pool } = require('pg'); var pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_express_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Connected to PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
通过以上步骤,您成功创建并运行了一个 Express.js 项目,并使用 ServBay 提供的功能来管理和访问您的项目,同时连接了多种数据库。