私は、特定のサーバー機能用に別のJSファイルを作成しました。次のようにサンプルコード:私のapp.jsでExpressJS - ルーティング機能
私-data.js
var exports = module.exports = {};
exports.getData = function (request, response) {
var myData = [
{
"value": 1
},
{
"value": 2
},
];
response.json(myData);
};
、私は、要求が行われたときに特定の機能を呼び出すようにしようとしています。
app.js
var express = require("express");
var app = express();
var port = process.env.PORT || 3000;
var myData = require("./lib/my-data.js");
app.engine(".html", require("ejs").__express);
app.set("views", __dirname + "/views");
app.set("view engine", "html");
app.use(express.static(__dirname));
// Line below is what I'm trying to achieve.
//app.get("/get-data", myData.getData(request, response));
// Working line
app.get("/get-data", function(request, response) {
myData.getData(request, response);
});
app.get("*", function (request, response) {
response.render("index");
});
app.listen(port, function() {
console.log("Listening on port " + port);
});
のワーキングサンプルは
app.get("/get-data", function(request, response) {
myData.getData(request, response);
});
はありませんしながら、ラインapp.get("/get-data", myData.getData(request, response));
が動作しないことを私に悩まします。
2つのアプローチの違いは何ですか?
私はそれはきれいで正確なのですが、私はそれを動作させるように見えることはできませんので、最初のものを使用して好みます。
あなたが試してみました: 'app.get( "/データ取得"、myData.getDataを);'? –
こんにちは@NelsonYeung、それは働いた。あなたはその質問を答えとしてタグ付けすることができるように答えを投稿したいですか?また、私のアプローチがうまくいかなかった理由を簡単に説明できますか? –