を含めます。それが動作しない理由を私はエラーNode.jsのは、私は2つのファイルを持ってクラスファイル
TypeError: object is not a function
次私はそれを得ることはありません取得 - 私はあなたが関数としてConversationModule
をエクスポートしようとしている:)
を含めます。それが動作しない理由を私はエラーNode.jsのは、私は2つのファイルを持ってクラスファイル
TypeError: object is not a function
次私はそれを得ることはありません取得 - 私はあなたが関数としてConversationModule
をエクスポートしようとしている:)
をノードに新しいよ、それがありますない。代わりにこれを使用します。
exports.ConversationModule = ConversationModule;
あなたもexports
のプロパティとして変数を代入しているので、あなたはこのようにそれを呼び出す必要があるだろう:あなたがしたくない場合は
var ConversationModule = require('./file').ConversationModule;
ConversationModule.sayhello();
それは、module.exports
にオブジェクトを割り当てる:
module.exports = ConversationModule;
そして、このようにそれを呼び出す:
var ConversationModule = require('./file');
ConversationModule.sayhello();
あなたはファイルconversation.jsの名前を付けたことを考えれば、おそらく、その特定のファイルの "会話モジュール"だけを定義するつもりです。 (論理モジュールごとに1つのファイルが良い方法です) その場合、エクスポートコードを変更して元々のコードと同じように要求コードを残しておくと、よりクリーンになります。あなたはrequire
でモジュールを必要とする場合
start.js
var ConversationModule = require('./src/classes/conversation/Conversation.js');
ConversationModule.sayhello();
module.exports
に何かを割り当てるconversation.js
var ConversationModule = new Object();
ConversationModule.sayhello = function() {
console.log("hello");
};
module.exports = ConversationModule;
は、この値が使用可能になります。
conversation.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();