10

私は2つのファイルを手に入れました:

start.js

    var ConversationModule = require('./src/classes/conversation/Conversation.js');
    ConversationModule.sayhello();

会話.js

    var ConversationModule = new Object();

    ConversationModule.sayhello = function () {
    console.log("hello");
    };

    exports.ConversationModule = ConversationModule();

start.js では、sayhello() メソッドを呼び出すことができません。次のエラーが表示されます

TypeError: object is not a function

なぜそれが機能しないのかわかりません-私はノードが初めてです:)

4

3 に答える 3

0

ファイルに conversation.js という名前を付けたとすると、おそらくその特定のファイルで「会話モジュール」のみを定義するつもりです。(論理モジュールごとに 1 つのファイルを使用することをお勧めします) その場合、export コードを変更し、require コードを元のままにしておく方がクリーンです。

start.js

var ConversationModule = require('./src/classes/conversation/Conversation.js');
    ConversationModule.sayhello();

会話.js

   var ConversationModule = new Object();

   ConversationModule.sayhello = function () {
     console.log("hello");
   };

   module.exports = ConversationModule;

に何かを割り当てるmodule.exportsと、 でモジュールが必要なときにこの値が使用可能になりますrequire

于 2013-10-19T21:32:36.520 に答える
0

会話.js:

var conversationModule = new Object();

conversationModule.sayhello = function () {
console.log("hello");
};

exports.conversationModule = conversationModule;

start.js:

var conversationModule =  require('./src/classes/conversation/Conversation.js').conversationModule;
conversationModule.sayhello();
于 2014-12-21T07:05:01.097 に答える