Nodejs Express 4.X后把好多功能都弄成插件形式了,是不是增加了开发难度啊

Nodejs Express 4.X后把好多功能都弄成插件形式了,是不是增加了开发难度啊

https://github.com/senchalabs/connect#middleware

另: 是不是每次都要在package.json中定义了,才能install

14 回复

Node.js Express 4.X 后把好多功能都弄成插件形式了,是不是增加了开发难度?

在 Node.js 和 Express 的最新版本中,Express 4.X 及之后的版本确实将许多中间件(middleware)功能拆分成了独立的模块。这其实是为了提高模块化程度和灵活性,而不是增加开发难度。

为什么这样做?

  1. 模块化:每个中间件功能都被封装为一个独立的 npm 包,这样开发者可以根据需要选择安装哪些中间件。
  2. 轻量级:减少了核心库的体积,使得整个框架更加轻量和高效。
  3. 可维护性:每个中间件的功能更加单一,便于单独维护和更新。

是不是每次都要在 package.json 中定义了,才能 install?

是的,如果你想要使用某个中间件,你需要先将其添加到 package.json 文件中,然后运行 npm install 命令来安装它。例如,如果你想使用 body-parser 这个中间件,你需要在 package.json 中添加如下依赖:

{
  "dependencies": {
    "body-parser": "^1.19.0"
  }
}

然后运行 npm install 安装该依赖:

npm install

示例代码

假设你想创建一个简单的 Express 应用,并使用 body-parser 来解析请求体中的 JSON 数据。以下是具体的实现步骤:

  1. 初始化项目并安装依赖:
npm init -y
npm install express body-parser
  1. 创建 app.js 文件:
const express = require('express');
const bodyParser = require('body-parser');

const app = express();

// 使用 body-parser 中间件
app.use(bodyParser.json());

// 定义路由
app.post('/data', (req, res) => {
  console.log(req.body);
  res.send('Data received!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

在这个例子中,我们首先引入了 expressbody-parser,然后通过 app.use(bodyParser.json())body-parser 应用于应用。这样,任何发送到 /data 路由的 POST 请求都将自动解析其请求体中的 JSON 数据。

总结

虽然 Express 4.X 及以后的版本将许多功能拆分成了独立的中间件,但这实际上是为了提供更大的灵活性和更小的核心库体积。开发者只需根据需要安装相应的中间件即可,这不仅没有增加开发难度,反而使开发过程更加高效和灵活。


可能“第一次”会比较难;但往后会发现很灵活~

npm install xxx --save 不更方便么。

可以这么说

恩,也可以直接指定名字install

沙盒游戏,自由度高。

摆脱依赖 多好~ 你没看koa呢

github上好多大神吐槽大量集成不好二次开发。。。所以。。。。

不模块化就是rails的节奏

中间件不会自己加入么?了解原理,怎么玩都行了,被一堆绑定的插件搞的头昏就好了?不用再package.json 里手写依赖,npm init就能自动生成。

恩 刚学习 好多命令还没见过

恩 既然新版这么做 一定是有原因的 就是在不知道有哪些中间件的情况下 感觉就像到了一个陌生的地方而且么有的确,抓瞎了

我觉得挺好。。让你经常去看看npm。毕竟express不是万能的。不能把所有的都加进去!

Node.js 的 Express 4.x 版本确实将许多内置功能拆分成了独立的中间件,这虽然增加了一些配置工作量,但同时也提高了灵活性和模块化程度。这种方式实际上使得开发更加容易,因为它允许开发者根据实际需求选择所需的中间件,而不是被迫使用一个包含大量功能的大框架。

例如,假设你需要使用 bodyParser 中间件来解析请求体中的 JSON 数据,你可以通过以下步骤安装并使用它:

  1. 首先,在你的项目目录下运行 npm install express body-parser 命令来安装 Express 和 body-parser 中间件。
  2. 在你的应用文件中引入这些模块,并配置它们:
const express = require('express');
const bodyParser = require('body-parser');

const app = express();

// 使用 body-parser 中间件
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.post('/api/data', (req, res) => {
    console.log(req.body);
    res.send('Data received!');
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

在这个例子中,我们首先引入了 expressbody-parser 模块,然后使用 app.use() 方法来注册中间件。这种方式使得我们可以根据需要灵活地添加或移除功能,而不需要修改大量的代码。

至于你提到的 package.json 文件,每次安装新的依赖包时,通常会在其中自动添加相应的条目。这样可以帮助团队成员更方便地了解项目的依赖情况,并且可以确保每个人在本地环境中都能正确安装所需的依赖。

回到顶部