错误:大多数中间件(如json)不再与Express捆绑在一起,必须单独安装.请参阅

inc*_*eaf 37 mysql json node.js express

我将源窗口移动到ubuntu:

错误:大多数中间件(如json)不再与Express捆绑在一起,必须单独安装.请参阅https://github.com/senchalabs/connect#middleware.

这是我的消息来源谢谢

var http = require('http');
var fs = require('fs');
var express = require('express');
var mysql = require('mysql');
var ejs = require('ejs');

var app = express();
app.use(express.bodyParser());
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)

kmc*_*h12 50

快递4.x有许多变化.就像错误所说的那样,所有的中间件都被删除了.

更新您的package.json包括"新"套餐,一个基本的列表可以发现这里和一个完整的列表在这里

使用上面的代码,您只需要以下内容:

// package.json
{
  "dependencies":
  {
    "express":"*",
    "body-parser":"*"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后更新您的来源以反映新的更改:

// app.js
var http = require('http'),
    fs = require('fs'),
    express = require('express'),
    bodyParser = require('body-parser'),
    mysql = require('mysql'),
    ejs = require('ejs');

var app = express();
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());
Run Code Online (Sandbox Code Playgroud)

请注意,app.use(app.router)也已被删除.

  • 没问题,很高兴我可以帮忙.这不是一个真正的问题,更多的功能:).Express中的所有中间件都已分离为包,这样您就可以只获得所需的内容并保持代码的小巧和专注.问题是所有的例子,书籍和视频都是关于以前的版本,因此会在一段时间内留下一些混乱.如果您正在学习并从教程中学习,您可能还希望通过在package.json文件中指定版本来坚持使用express 3.x. (4认同)