我对这是如何工作有点困惑......
我正在编写一个节点/快速应用程序,我只是在自己的文件中编写了一个函数,我需要在我的路径中使用它,我只想调用该函数。
在另一个文件(tranformTheData.js)中有:
module.exports = {
tranformTheData:function (data){
console.log('whatever')
}
在我的节点app.js文件中,我有
var formatJSON = require('./js').tranformTheData;
我现在可以使用
formatJSON(data)
并利用这个功能?或者我必须做其他事情,我已经看到了一些这样做的例子,但它们对我没有意义。
答案 0 :(得分:1)
你应该这样做:
// 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
的情况下,它接受data
参数。
答案 1 :(得分:0)
确保在transformTheData.js中添加缺少的右括号:
module.exports = {
tranformTheData: function(data) {
console.log('whatever');
}
};
现在你应该可以使用文件名require
文件并按照你想要的方式调用该函数:
var formatJSON = require('./transformTheData').tranformTheData;
formatJSON(data);