Javascript NodeJS:未定义不是新函数“new”
我正在尝试Node JS Twilio指南中的一段代码: 当我启动此代码段并访问URL时,我得到以下响应:Javascript NodeJS:未定义不是新函数“new”,javascript,node.js,twilio,Javascript,Node.js,Twilio,我正在尝试Node JS Twilio指南中的一段代码: 当我启动此代码段并访问URL时,我得到以下响应: /Users/unicornherder/Desktop/Porter/inbound.js:7 var resp = new twilio.TwimlResponse(); ^ TypeError: undefined is not a function at Server.<anonymous> (/Users/unicorn
/Users/unicornherder/Desktop/Porter/inbound.js:7
var resp = new twilio.TwimlResponse();
^
TypeError: undefined is not a function
at Server.<anonymous> (/Users/unicornherder/Desktop/Porter/inbound.js:7:16)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2108:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23)
at Socket.socket.ondata (http.js:1966:22)
at TCP.onread (net.js:527:27)
有人能解释一下我做错了什么吗?从导入中删除参数“AUTH-ID”和“AUTH-SECRET”
如果在导入过程中传递这些参数,则表示您正在初始化rest客户端,而twilio变量将不会表示模块对象。因此,TwimlResponse对象将是未定义的。从导入中删除参数“AUTH-ID”和“AUTH-SECRET” 如果在导入过程中传递这些参数,则表示您正在初始化rest客户端,而twilio变量将不会表示模块对象。因此,TwimlResponse对象将是未定义的。您需要保存require'twilio正在导出的内容,因为TwimlResponse所在的位置,而不是您当前接收的require'twilio'客户端对象上的内容。。与要求'twilio'相同。RestClient。。。因此,请改为:
var http = require('http');
var twilio = require('twilio');
// or `var twilioClient = twilio(...)`
var twilioClient = new twilio.RestClient('AUTH-ID','AUTH-SECRET');
http.createServer(function (req, res) {
var resp = new twilio.TwimlResponse();
resp.say({voice:'woman'}, 'ahoy hoy! Testing Twilio and node.js');
res.writeHead(200, {
'Content-Type':'text/xml'
});
res.end(resp.toString());
}).listen(1337);
FWIW显示了以这种方式使用模块将导出与实际Rest客户端分离的示例。您需要保存require'twilio正在导出的内容,因为TwimlResponse所在的位置,而不是您当前接收的require'twilio'客户端对象上。。与要求'twilio'相同。RestClient。。。因此,请改为:
var http = require('http');
var twilio = require('twilio');
// or `var twilioClient = twilio(...)`
var twilioClient = new twilio.RestClient('AUTH-ID','AUTH-SECRET');
http.createServer(function (req, res) {
var resp = new twilio.TwimlResponse();
resp.say({voice:'woman'}, 'ahoy hoy! Testing Twilio and node.js');
res.writeHead(200, {
'Content-Type':'text/xml'
});
res.end(resp.toString());
}).listen(1337);
FWIW展示了以这种方式使用模块将导出与实际Rest客户端分离的示例。我正在该博客中查找,似乎如果您正在创建响应,那么您的代码中应该只需要以下内容:
var twilio = require('twilio');
我在那篇博客中看到,如果您正在创建响应,那么代码中应该要求的就是:
var twilio = require('twilio');
感谢您的详细回答和解释出口流程。非常感谢!嘿@mscdex,非常感谢您在StackOverflow上的帮助。我很乐意送你一件衬衫来表示感谢!如果你觉得这很酷,请发电子邮件mspeir@twilio.com详细信息。感谢您的详细回答和解释导出过程。非常感谢!嘿@mscdex,非常感谢您在StackOverflow上的帮助。我很乐意送你一件衬衫来表示感谢!如果你觉得这很酷,请发电子邮件mspeir@twilio.com有关详细信息,谢谢您的快速回复。取下身份验证id和身份验证密码就成功了。感谢您的快速响应。取下身份验证id和身份验证密码就成功了。