こんにちは。ノード内の動的関数呼び出し(フレームワークなし)
2週間前に私はノードを勉強し始めました。 トレーニングとしてMVCで構築したサーバーを実装することにしました。 私はそれをPHPでやっていました。 関数呼び出しを実装することはできません。関数呼び出しはプログラムによって計算されます。ファイルで
ファイルrouter.js
var maincontroller = require("../controllers/maincontroller");
var storecontroller = require("../controllers/storecontroller");
var additionalcontroller = require("../controllers/additionalcontroller");
module.exports = {
findMainRoute: function (globalarray) {
... code
var nameOfController = temparray[0];
var nameOfFunction = temparray[1];
// var execFunction = nameOfController + '.' + nameOfFunction +'(globalarray);';
// eval(execFunction);
... code
}
}
、プログラムは、コントローラの名前とルータの実行に必要な関数の名前を計算します。コメント行では、この関数をEVALで呼び出します。この方法は機能しますが、私には合いません。
動作する瞬間、コントローラの1つが呼び出されます。 コントローラmaincontroller.js
module.exports = {
processingMain: function (globalarray) {
... code
globalarray.readFile = globalarray.mainDirectory + '/app/views/0000_main.html';
globalarray.contentType = 'text/html';
... code
}
}
コールが動的なかったら、私はこのようなコントローラへの呼び出しを記述します。
JS /ノードのコードは、私はevalのを置き換えるために書くべきmaincontroller.processingMain(globalarray);
PHP関数のアナログcall_user_func_arrayを使用していますか? 3日間私は100種類のアプリケーションの適用、呼び出し、新しい機能を試しました。 Jsについての私の知識は、そのような仕事には弱すぎるようです。