为什么我得到 'undefined is not a function'?
Why do I get 'undefined is not a function'?
我正在尝试 return 一个文件作为对使用 express.js 的 GET 请求的响应
我写了一个简单的 FileManager
class 来处理文件请求,但是当我调用 new FileManager()
时出现 'undefined is not a function'
错误
下面是我尝试这样做的方法:
//FileManager.js
FileManager = function () {}; //Empty initializer
FileManager.prototype.handleFileRequest = function(req,res){
var fileId = req.params.id
if(fileId){
var path = './uploads/events' + fileId;
res.sendfile(path)
} else {
res.send(404, 'file not found')
}
}
这是服务器:
//server.js
var express = require('express');
var FileManager = require('./FileManager.js').FileManager;
var app = express();
var fileman = new FileManager();
app.get('/:id', function (req, res){
console.log('get id:' + req.params.id);
fileman.handleFileRequest(req,res);
})
app.listen('blabla',3000);
但是当我 运行 node server.js
时,出现以下错误:
var fileman = new FileManager();
^
TypeError: undefined is not a function
在FileManager.js中...您需要导出对象。
module.exports = {
FileManager : FileManager
}
server.js
var FileManager = require('./FileManager.js').FileManager;
// this has the FileManager object that was created in the FileManager.js
我正在尝试 return 一个文件作为对使用 express.js 的 GET 请求的响应
我写了一个简单的 FileManager
class 来处理文件请求,但是当我调用 new FileManager()
'undefined is not a function'
错误
下面是我尝试这样做的方法:
//FileManager.js
FileManager = function () {}; //Empty initializer
FileManager.prototype.handleFileRequest = function(req,res){
var fileId = req.params.id
if(fileId){
var path = './uploads/events' + fileId;
res.sendfile(path)
} else {
res.send(404, 'file not found')
}
}
这是服务器:
//server.js
var express = require('express');
var FileManager = require('./FileManager.js').FileManager;
var app = express();
var fileman = new FileManager();
app.get('/:id', function (req, res){
console.log('get id:' + req.params.id);
fileman.handleFileRequest(req,res);
})
app.listen('blabla',3000);
但是当我 运行 node server.js
时,出现以下错误:
var fileman = new FileManager();
^
TypeError: undefined is not a function
在FileManager.js中...您需要导出对象。
module.exports = {
FileManager : FileManager
}
server.js
var FileManager = require('./FileManager.js').FileManager;
// this has the FileManager object that was created in the FileManager.js