Javascript 导出节点JS中的类
我已经编写了三个函数,如下所示。我把amp.js和dish.js放在一个包中 amp.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'; } }());
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内容,至少尝试单独requirevar dish=require('./dish')
,这样你就会知道dish.js是OK的。你想用amp做什么?它是未定义的…是否可以在同一个utils.js文件中使用makeSandwich函数。