【问题标题】:Error: Cannot find module 'res' in server.js错误:在 server.js 中找不到模块“res”
【发布时间】: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

这里有什么问题?

【问题讨论】:

    标签: node.js


    【解决方案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) {)。
    猜你喜欢
    • 2020-12-15
    • 1970-01-01
    • 2019-11-18
    • 2018-11-07
    • 2013-03-22
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多