특정 서버 기능을 위해 별도의 JS 파일을 만들었습니다. 다음과 같은 샘플 코드 :ExpressJS - 라우팅 기능
내-data.js 내 app.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));
이 작동하지 않는 날 귀찮게의
근무 샘플.
두 방법의 차이점은 무엇입니까?
내가 깨끗하고 정밀하지만 처음부터 사용하는 것을 선호하지만 제대로 작동하지 않는 것 같습니다.
시도해 보셨습니까? 'app.get ("/ get-data", myData.getData); –
안녕하세요 @ 넬슨 예, 작동했습니다. 답변으로 질문을 게시 할 수 있도록 답변으로 게시 하시겠습니까? 또한 내 접근 방식이 왜 작동하지 않는지 간단히 설명 할 수 있습니까? –