为什么我们不直接做"app = require('express')"?



几乎在所有NodeJS应用程序代码中,我看到以下几行:

express = require('express');
app = express();

我想到了一个问题:为什么我们不直接做呢?

app = require('express');

如果你的意思是

app = require('express')();

那么集成/使用express是不好的做法。假设我们将使用express创建一个带有路由的简单api服务器。因此,基本上样板文件应该是-

const express = require('express');
const app = express();
app.use(express.json());
app.get('/', (req, res) => {
res.json({
type: 'success',
message: 'We can send json response because we used json module from express :D'
});
});
app.listen(8000)

所以,这里我们使用json模块将响应解析为json数据,我们使用express的内置模块来完成。

如果我们没有全局声明express,那么我们必须再次调用express函数来使用json模块。

例如,如果我们不全局声明express,而想使用router和urlencoded解析器模块,那么代码将是这样的

const app = require('express')();
const json = require('express').json;
const urlencoded = require('express').urlencoded;
app.use(json());
app.use(urlencoded({extended: true}));

我认为这不是写正确代码的好习惯。你必须从express中为你想要使用的每个模块调用和创建新的变量。

希望你得到它!从我所知,我已经尽力让你明白了。

最新更新