Also, ich schreibe eine Knoten-App, und ich versuche, eine Funktion hinzuzufügen, die aufgerufen wird, wenn ein neuer Benutzer erstellt wird. Ich verwende die Twilio-API, um eine SMS an jemanden zu senden, sobald sich ein Benutzer für die App anmeldet.Die Knoten-App erkennt die Funktion nicht
app.js
var express = require('express');
var db = require('./models');
var bodyParser = require('body-parser');
var methodOverride = require("method-override");
var app = express();
var session = require('express-session');
var app = express();
var twilio = require('./js/twilio.js');
// app.set('port', (process.env.PORT || 3000));
app.use(express.static(__dirname + '/public'));
// views is directory for all template files
app.set('views', __dirname + '/views');
app.post("/signup", function (req, res) {
// Creating object to pass into db and twilio:
var new_user = {
first_name : req.body.first_name,
last_name : req.body.last_name,
phone : req.body.phone,
partner_phone : req.body.partner_phone,
email : req.body.email,
password : req.body.password
};
console.log("The new_user is: ", new_user)
twilio.send_sms_to(new_user);
db.User.create({first_name: new_user.first_name, last_name: new_user.last_name, phone: new_user.phone, partner_phone: new_user.partner_phone, email: new_user.email, password: new_user.password}).then(function(user){
res.render("login");
});
});
twilio.js
var send_sms_to = function (user) {
var client = new twilio.RestClient('secret key', 'super secret key'), msg = "Hello potential new user!",
phone = user.partner_phone,
name = user.first_name + " " + user.last_name;
console.log("Entries are: ", user.phone, user.first_name)
client.sms.messages.create({
to: phone,
from:'+16507970229',
body: msg
}, function(error, message) {
// The HTTP request to Twilio will run asynchronously. This callback
// function will be called when a response is received from Twilio
// The "error" variable will contain error information, if any.
// If the request was successful, this value will be "falsy"
if (!error) {
// The second argument to the callback will contain the information
// sent back by Twilio for the request. In this case, it is the
// information about the text messsage you just sent:
console.log('Success! The SID for this SMS message is:');
console.log(message.sid);
console.log('Message sent on:');
console.log(message.dateCreated);
} else {
console.log('Oops! There was an error.');
}
});
}`
Aber jedes Mal, wenn ich die Post-Anforderung laufen bekomme ich einen Fehler
Typeerror: twilio.send_sms_to ist keine Funktion
bei /Users/jamesbradley/codeProjects/indulge/indulge_app/app.js:256:10
(das ist die Linie "twilio.send_sms_to (neuer Benutzer);" in der app.js Datei)
... obwohl Nodemon den Server ohne Probleme läuft. Was mache ich falsch?
Es scheint nur ein einfacher Pfad Problem auf Ihrem Server. Anscheinend, 'require ('./ public/js/ttilio.js');' ist nicht der richtige Weg zu deiner 'ttilio.js'. – jfriend00
Der Pfad zu 'ttilio.js' in' app.js' und die Fehlerausgabe stimmen nicht überein, wobei der Fehler die führende Periode ('.') enthält. Gibt es noch andere Orte, an denen "twilio.js" benötigt wird, die zu dem Fehler führen können? –
Ich habe alles versucht und kann nicht herausfinden, wie man den Pfad repariert: ('./public/js/twilio.js') ('./js/twilio.js') ('../ public/js/twilio.js ') (' ../js/twilio.js ') (' public/js/twillio.js ') (' js/twillio.js ') –