2016-02-16 60 views
3

我目前正在关注如何在Node.js中构建一个简单的HTTP身份验证系统tutorial。正如它所说,我几乎遵循了教程的所有步骤,但是当我尝试运行它时,我总是得到以下错误:TypeError: object is not a functionNode.js身份验证类型错误:对象不是函数

以下是教程中的代码:(错误发生在第3行)

var http = require("http"); 
var auth = require("http-auth"); 
var digest = auth({ 
    authRealm: "Private area", 
    authFile: __dirname + "/htpasswd", 
    authType: "digest" 
}); 
var server = http.createServer(function(request, response) { 
    digest.apply(request, response, function(username) { 
    response.writeHead(200, {"Content-Type": "text/plain"}); 
    response.write("Hello " + username); 
    response.end(); 
    }); 
}); 

server.listen(80); 
console.log("Server is listening"); 

在此先感谢!对不起,如果这个问题很愚蠢,我是Node.js的新手。 :P

+0

提到哪个LINE你得到的错误总是一个很好的提示,顺便说一句。真的帮助其他正在查看代码的人。 –

+0

@JeremyJStarcher更新! – javathunderman

回答

0

尝试使用:

var basic = auth.basic({ 
    authRealm: "Private area", 
    authFile: __dirname + "/htpasswd", 
    authType: "digest" 
}); 

basic变量的赋值。

+0

似乎这个模块存在某些问题。我尝试过使用该解决方案,但它说“应用”方法(后面在此代码中使用)不存在。 – javathunderman

+0

我想这完全是另一个错误。这个问题可能在教程中,不一定在模块中。该教程已超过3年 –

+0

正确 - 我可能不得不寻找替代方案。 – javathunderman