Je suis nouveau sur NodeJS et voici mes routes / recom.js qui font maintenant beaucoup de choses sur la logique. Je vais déplacer les logiques ailleurs quelque part. Mais maintenant, je dois d'abord résoudre l'erreur.
exports.scrape = function(req, res) {
var APIURI = "https://www.kimonolabs.com/api/abbxqyg4?apikey=6IrCGNcorodTBSfNawS6sZkHw3LeZVIN";
var receivedJason;
res.type("text/plain");
request({
url: APIURI,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log("API Retrieved Successfully!");
res.json(body);
receivedJason = JSON.stringify(body);
var node = db.createNode({hello: "world"}); // instantaneous, but...
node.save(function (err, node) { // ...this is what actually persists.
if (err) {
console.error("Error saving new node to database:", err);
} else {
console.log("Node saved to database with id:", node.id);
}
});
}
});
};
Et c'est mon app.js
var express = require("express");
var recom = require("./server/routes/recom.js");
var app = express();
app.get("/", recom.scrape);
app.listen(process.env.PORT || 2019);
et j'ai eu l'erreur suivante:
Route.get () nécessite des fonctions de rappel mais a un [objet non défini]
Toute aide serait appréciée.
Réponses:
0 pour la réponse № 1L'erreur semble être dans l'exportation. Dans routes/recom.js
utilisation:
module.exports.scrape = function(req, res) { //...
La raison pour laquelle vous obtenez un [object Undefined]
est-ce exports
n'est pas le même objet que module.exports
et l’article recherché n’existe donc pas.
De plus, dans app.js, vous devrez peut-être utiliser l’un des éléments suivants:
var recom = require("routes/recom.js");
// or:
var recom = require("server/routes/recom.js");
En fonction de votre structure complète.