Javascript 如何在node js route中调用外部函数
我有点困惑这是怎么回事 我正在编写一个node/express应用程序,我刚刚在它自己的文件中编写了一个函数,我需要在路由中使用它,我只想调用该函数 在另一个文件(transformthedata.js)中,有:Javascript 如何在node js route中调用外部函数,javascript,node.js,express,Javascript,Node.js,Express,我有点困惑这是怎么回事 我正在编写一个node/express应用程序,我刚刚在它自己的文件中编写了一个函数,我需要在路由中使用它,我只想调用该函数 在另一个文件(transformthedata.js)中,有: module.exports = { tranformTheData:function (data){ console.log('whatever') } 在我的node app.js文件中 var formatJSON = require('./js').tranf
module.exports = {
tranformTheData:function (data){
console.log('whatever')
}
在我的node app.js文件中
var formatJSON = require('./js').tranformTheData;
我现在能用吗
formatJSON(data)
利用这个功能?或者我必须做其他事情,我已经看到了一些这样做的例子,但是它们对我来说没有意义。确保在transformTheData.js中添加缺少的结束括号:
module.exports = {
tranformTheData: function(data) {
console.log('whatever');
}
};
现在,您应该能够
使用文件名要求文件,并在尝试执行以下操作时调用函数:
var formatJSON = require('./transformTheData').tranformTheData;
formatJSON(data);
您应该这样做:
// transformData.js
module.exports = {
formatJSON: function(data) {
console.log('whatever')
},
otherFunction: function() {
}
}
// app.js
var tranformTheData = require('./path/to/tranformTheData.js');
var formatJSON = tranformTheData.formatJSON;
var otherFunction = tranformTheData.otherFunction;
formatJSON(data); // this will work
module.exports
在本例中,导出的是一个对象文本,该对象有两个函数。需要该文件并将其分配给变量将把该变量分配给对象文本,对象文本随后可以访问其方法
当您调用这些方法时,您可以传入您想要的任何参数。在formatJSON
的情况下,它接受应该可以工作的数据
参数,但是您的module.exports缺少一个右括号。对象文本必须有两个函数吗?我真的只需要一个。我想不会,但我想我会问的。我的想法是,你可以添加多个函数,只需要一个模块。不,它不需要。我只是强调了对象的正确结构,并展示了如何需要模块并访问其功能。您可以拥有任意多或任意少的函数。