2016-03-23 15 views
0

私は新しく、実際にはnode.jsとexpressjsの作業を学んでいます。コントローラ/その他のファイルの機能

このコードをすべて私のapp.jsに入れると、すべて正常に動作していますが、この機能をコントローラ/ホームディレクトリに作成します。私はこれを入れてみました

function run() { 
     console.log("Hello World."); 
    }; 

    app.all('/hi', function(req, res, next) { 
     run(); 
    }); 

...

var Home = require('./controllers/Home'); 
    app.all('/hi', function(req, res, next) { 
     Home.run(); 
    }); 

...とHome.jsへの機能のコードを貼り付けますが、それは働いていません。

これは私に説明できますか?よろしくです。 よろしくお願いします。

+0

最後を試してみてください';'は 'run()'関数の最後にはOKと思われません。削除してからやり直してください。 – dburner

+0

@ dburner、私は試しましたが、それでもエラーがあります 'TypeError:Home.runは関数ではありません' – mateuszji

+0

ホームはディレクトリですか、ファイルですか? –

答えて

-1

を書くに定義された最初のファイルにこの

module.exports.run = function run(){ 
console.log('run'); 

}

のようなあなたのホームファイルからこの関数をエクスポートし、

+0

私はまだ試みました 'TypeError:Home.runは関数ではありません'。 – mateuszji

+0

あなたの仕事に感謝します。私はそれを理解していません。よろしく! – mateuszji

-1

したがって、run()関数は、var Home = require(..)以外のファイルにありますか?次に、実行機能をエクスポートする必要があります。だから、runはあなたが

module.exports.run = run;

+0

いいえ、機能実行はcontrollers/Home.jsにあり、var Homeは同じです(var Home = require( './ controllers/Home');)。 – mateuszji

関連する問題