摩根弃用 expressjs
morgan deprecated expressjs
我正在通过教程学习 nodejs。我遇到了教程适用于旧版本的问题。
我有那个代码:
var express = require('express'),
stylus = require('stylus'),
logger = require('morgan'),
bodyParser = require('body-parser');
var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var app = express();
function compile(str, path){
return stylus(str).set('filename', path);
}
app.set('views', __dirname + '/server/views');
app.set('view engine', 'jade');
app.use(logger);
app.use(bodyParser.urlencoded({ extended: true }));
app.use(stylus.middleware(
{
src: __dirname + '/public',
compile: compile
}
));
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res) {
res.render('index');
});
var port = 3131;
app.listen(port);
console.log('Listening on port ' + port + '...');
当我尝试进入时 http://localhost:3131/
网站在浏览器中停止响应
This site can’t be reached
The connection was reset.
在 nodemon 中它说:
如果我删除 morgan
一切正常。我该如何解决?
错误日志显示 "Morgan deprecated default format: use combined format"。
很简单,替换
app.use(logger);
和
app.use(logger('combined'));
只需使用 app.use(morgan("dev))
并确保将 morgan 的导入放在导入的顶部。如果将其放在导入的下方或为了满足所需的依赖项,它会出错..
像这样:
import express from "express";
import morgan from "morgan";
import postRoutes from "./routes/postRoutes.js";
如果你把你的摩根进口放在这样的路线下面,
import express from "express";
import postRoutes from "./routes/postRoutes.js";
import morgan from "morgan";
它会给你一个“错误:听 EADDRINUSE:地址已经在使用”...
希望这对任何人都有帮助...
我正在通过教程学习 nodejs。我遇到了教程适用于旧版本的问题。
我有那个代码:
var express = require('express'),
stylus = require('stylus'),
logger = require('morgan'),
bodyParser = require('body-parser');
var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var app = express();
function compile(str, path){
return stylus(str).set('filename', path);
}
app.set('views', __dirname + '/server/views');
app.set('view engine', 'jade');
app.use(logger);
app.use(bodyParser.urlencoded({ extended: true }));
app.use(stylus.middleware(
{
src: __dirname + '/public',
compile: compile
}
));
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res) {
res.render('index');
});
var port = 3131;
app.listen(port);
console.log('Listening on port ' + port + '...');
当我尝试进入时 http://localhost:3131/
网站在浏览器中停止响应
This site can’t be reached
The connection was reset.
在 nodemon 中它说:
如果我删除 morgan
一切正常。我该如何解决?
错误日志显示 "Morgan deprecated default format: use combined format"。
很简单,替换
app.use(logger);
和
app.use(logger('combined'));
只需使用 app.use(morgan("dev))
并确保将 morgan 的导入放在导入的顶部。如果将其放在导入的下方或为了满足所需的依赖项,它会出错..
像这样:
import express from "express";
import morgan from "morgan";
import postRoutes from "./routes/postRoutes.js";
如果你把你的摩根进口放在这样的路线下面,
import express from "express";
import postRoutes from "./routes/postRoutes.js";
import morgan from "morgan";
它会给你一个“错误:听 EADDRINUSE:地址已经在使用”...
希望这对任何人都有帮助...