来自其他快递文件的呼叫功能
问题描述:
我要抓取20个站点,为了让它更容易我想划分每个站点在不同文件中的每个刮擦功能,但是当我这样做时,我不断收到来自其他快递文件的呼叫功能
function scrape(url, callback) {
^^^^^^^^^
SyntaxError: Unexpected identifier
在我的索引
我有这个
var test = require('../services/test.js');
router.get('/scrape', function(req, res, next) {
test.scrape("url", function(error){
if (!error) {
res.json({succees: "scraped"});
} else {
res.json({error: error});
}
});
});
和test.js我有这样的事情
module.exports = {
function scrape(url, callback) {
}
};
答
你必须把它写这样的:
module.exports = {
scrape: function(url, callback) {
}
};
在test.js
然后你就可以通过test.scrape();
称之为这是根本不成立的JavaScript像你这样为对象放置功能。您必须指定一个索引才能生效。或者它也可能是一个数组:
module.exports = [
function scrape(url, callback) {
}
];
你会被test[0]();
注意称呼它的名字刮是可选在这里。 Why use named function expressions?
另一种选择:
module.exports = function (url, callback) {
};
那么你会这样称呼它test();
所有这一切都没有什么Node.js加载特定的。您可以通过用var test
替换上述示例的module.exports
,访问相同文件中的函数,从而使用标准JavaScript重现相同的行为。
答
你应该使用的语法是:
module.exports = {
scrape: function(url, callback) {
}
};
由于module.exports
应指向一个对象,而且功能上的IT领域。
看一看here,这里有一个很好的解释。
有没有一种方法可以改善我的答案?只是问,因为你还没有接受答案。 –