Javascript 导出节点JS中的类

Javascript 导出节点JS中的类,javascript,node.js,botframework,Javascript,Node.js,Botframework,我已经编写了三个函数,如下所示。我把amp.js和dish.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'; } }());

我已经编写了三个函数,如下所示。我把amp.js和dish.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中,我试图以类构造函数的形式访问amp.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
E:\bot prac\EX.js:4
var amp=新的just.amp();
^
TypeError:just.amp不是一个函数
反对。(E:\bot-prac\EX.js:4:10)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
在Module.load(Module.js:343:32)
在Function.Module.\u加载(Module.js:300:12)
位于Function.Module.runMain(Module.js:441:10)
启动时(node.js:139:18)
在node.js:974:3

下面是一个示例,说明如何将实用程序/助手函数存储在外部文件中,然后在主app.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

有关更多信息,请阅读核心文档。

什么是
只是
软件包<代码>var just=require('just')
应该是
/dish
?JUST是一个包含JUST.js和dish.js的包。软件包中的主要功能是dish.js然后不导出dish.js内容,至少尝试单独require
var dish=require('./dish')
,这样你就会知道dish.js是OK的。你想用amp做什么?它是未定义的…是否可以在同一个utils.js文件中使用makeSandwich函数。