错误:在 server.js 中找不到模块“res”

Posted

技术标签:

【中文标题】错误:在 server.js 中找不到模块“res”【英文标题】:Error: Cannot find module 'res' in server.js 【发布时间】:2016-05-17 14:11:24 【问题描述】:

我正在尝试输出“hello world”文本。我正在使用 expressjs 并使用名为 "ejs" 的视图引擎。我是 nodeJS 的初学者

var express = require("express");
var app = express();
var path = require('path');
var res = require("res");

var port = process.env.PORT;
app.set('view engine');
app.set('views',path.resolve(__dirname,'client','views'));

app.get('/',function() 
    res.render('index.ejs');
);

app.listen(port,function()
    console.log('Server running in PORT '+port);
);

这是错误:

模块.js:338 抛出错误; ^ 错误:找不到模块“res” 在 Function.Module._resolveFilename (module.js:336:15) 在 Function.Module._load (module.js:286:25) 在 Module.require (module.js:365:17) 在需要(module.js:384:17) 在对象。 (/home/ubuntu/workspace/server.js:4:11) 在 Module._compile (module.js:434:26) 在 Object.Module._extensions..js (module.js:452:10) 在 Module.load (module.js:355:32) 在 Function.Module._load (module.js:310:12) 在 Module.runMain [as _onTimeout] (module.js:475:10) 进程退出代码:1

这里有什么问题?

【问题讨论】:

【参考方案1】:

res 是您的路由处理程序的函数参数,它不是您 require() 的模块。

试试这个:

var express = require("express");
var app = express();
var path = require('path');

var port = process.env.PORT;
app.set('view engine');
app.set('views',path.resolve(__dirname,'client','views'));

app.get('/',function(req, res) 
    res.render('index.ejs');
);

app.listen(port,function()
    console.log('Server running in PORT '+port);
);

【讨论】:

您无法使用我提供的代码获得这些特定错误。这在第一个错误的堆栈跟踪中很清楚,它仍然引用您的 server.js 的第 4 行,这是您的 require('res'); 所在的位置。出现第二个错误是因为您只删除了第 4 行,并且没有为您的路由处理程序添加函数参数 (app.get('/', function(req, res) )。

以上是关于错误:在 server.js 中找不到模块“res”的主要内容,如果未能解决你的问题,请参考以下文章

在 VScode 中找不到 @angular/fire/firestore 模块错误

在 pydroid3 中找不到模块问题

错误:在 next.js 中找不到模块“swiper/react”

Magento:自定义模块错误(在 Layout.php 中找不到类)

错误:在包“android”中找不到属性“textAlignment”的资源标识符

Docker - 在 docker 容器日志中找不到模块