开发nodeJS Web应用程序是否需要express.js框架

rup*_*ram 5 javascript postgresql node.js express angular

我正在尝试使用 HTML、NodeJS 和 Postgres 开发简单的 Web 应用程序。是否可以在不使用 ExpressJS 的情况下开发 Web 应用程序?请让我知道如何使用 NodeJs、Javascript 和 Postgres 而不使用 ExpressJS 框架来执行基本的 CURD 操作。提前致谢。

Var*_*hai 2

是的,你可以跳过特快,但这并不容易。

但还有一件事:

是否可以不使用 ExpressJS 来开发 Web 应用程序

这可能意味着,

  • 你要么使用其他框架,要么
  • 从头开始的Node.js Web 应用程序

在第一种情况下,您有多种选择。有MVC框架,如hapi、Flicker.js等,REST API框架,如restify、loopback等

在第二种情况下,您面临着编写 Express 提供的许多功能的自定义实现的工作。

我继续假设你指的是第二种情况......

为了创建 HTTP 服务器,您可以使用节点的HTTP 模块

var http = require('http');

http.createServer(function (req, res) {
  res.write('Hello World!'); 
  res.end(); 
}).listen(8080); 
Run Code Online (Sandbox Code Playgroud)

这种方法使得编写 REST API 变得很痛苦

req.url; //the request URL
if(url == '/users/create')
{
    //do this
}
else if(url == '/users/details')
{
    //do that
}
Run Code Online (Sandbox Code Playgroud)

要连接到 postgres,无论如何你都必须使用 node-postgres (pg) ( pg 文档)

const { Client } = require('pg')
const client = new Client()

await client.connect()

const res = await client.query('SELECT $1::text as message', ['Hello world!'])
console.log(res.rows[0].message) // Hello world!
await client.end()
Run Code Online (Sandbox Code Playgroud)

至于 CRUD 操作,除了 API 实现之外,代码几乎是相同的。所以你可以参考express的使用教程。

https://mherman.org/blog/postgresql-and-nodejs/