2016-11-05 7 views
1

以下の3つの関数を記述しました。私はamp.jsとdish.jsを一つのパッケージにまとめました。ノードJSでクラスをエクスポートする

amp.js:

var amp = (function() { 
    //return ("This is a message from the demo package"); 

    function amp(){ 
     this.id=10; 
    } 
    amp.prototype.display=function(){ 
     return 'value of id is'; 
    } 

}()); 

exports.amp =amp; 

dish.js:

var cc=require('./amp'); 
exports.amp=cc.amp; 

EX.js:

var builder = require('botbuilder'); 
var just=require('JUST'); 
console.log(just); 
var amp= new just.amp(); 
console.log(amp); 
//var ww=new builder.ConsoleConnector(); 

// Create bot and bind to console 
var connector = new builder.ConsoleConnector().listen(); 
var bot = new builder.UniversalBot(connector); 

bot.dialog('/', function(session){ 
    session.send("hello this is chat bot"); 
    //session.send("string returned from the %s",just.amp.display); 
}); 

ここで私はアンペアにアクセスしようとしていますEX.jsインチクラスコンストラクタとしてjs、私は、次のエラーが表示されます

E:\bot-prac\EX.js:4 
var amp= new just.amp(); 
     ^

TypeError: just.amp is not a function 
    at Object.<anonymous> (E:\bot-prac\EX.js:4:10) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Function.Module.runMain (module.js:441:10) 
    at startup (node.js:139:18) 
    at node.js:974:3 
+0

'JUST'パッケージとは何ですか? 'var just = require( 'JUST');' '。/ dish'にする必要がありますか? –

+0

JUSTはjust.jsとdish.jsで構成されるパッケージです。パッケージの主な機能は、dish.js –

+0

ですが、少なくとも、dish.jsの内容をエクスポートしないでください。少なくとも、別に 'var dish = require( './ dish')'を要求すると、dish.jsはOKであることがわかります –

答えて

1

ユーティリティ/ヘルパー関数を外部ファイルに保存し、main.jsのメインコードにロードして使用する方法の例を次に示します。

// contents of utils.js 
module.exports = { 
    init: function() { 
    // do initialization things here 
    }, 
    makeSandwich: function() { 
    // make sandwich code here 
    }, 
    orderPizza: function(options) { 
    // order pizza with options code here 
    } 
} 
// END utils.js 

// contents of app.js 
var utils = require('./utils'); 

utils.init(); // call the init function 
utils.makeSandwich() // call the make sandwich function 

var pizzaOptions = { 
    toppings: ['pepperoni', 'mushrooms', 'onions', 'olives'], 
    cheese: 'Mozzerella', 
    crust: 'Italian' 
} 

utils.orderPizza(pizzaOptions); 
// END app.js 

詳細については、module.exportsのコアドキュメントを参照してください。

+0

同じutils.jsファイルでmakeSandwich関数を使用することは可能ですか? –

関連する問題