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

时间:2018-12-19 07:54:29

标签: javascript node.js angular postgresql express

我正在尝试使用HTML,NodeJS和Postgres开发简单的Web应用程序。是否可以在不使用ExpressJS的情况下开发Web应用程序。 请让我知道如何在不使用ExpressJS框架的情况下使用NodeJ,Javascript和Postgres进行基本的CURD操作。 预先感谢。

2 个答案:

答案 0 :(得分:3)

是的,您可以跳过快递,但这并非易事。

但是还有别的东西:

  

是否可以在不使用ExpressJS的情况下开发Web应用程序

这可能意味着

  • 您使用其他框架
  • Node.js Web应用从头开始

在第一种情况下,您可以选择。有MVC框架(例如hapi,Flicker.js等),REST API框架(例如restify,环回等)

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

我继续假设您是第二种情况...

要创建HTTP服务器,可以使用节点的HTTP Module

var http = require('http');

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

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

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

要连接到postgres,您必须始终使用node-postgres(pg)(pg documentation

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()

对于CRUD操作,除了其API实现之外,代码将几乎相同。因此,您可以参考使用express的教​​程。

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

答案 1 :(得分:2)

没有必要使用Express。 Express只是一个使用节点功能使您更轻松地实现Web服务器的库。

有很多选择:A small overview of the 'best'

有关CURD操作的信息,请参阅框架文档。