我正在尝试学习younode工作室,使其模块化步骤准确。我在链接中编写了代码,并在标题中得到了#34;错误"。我检查了括号和括号,但似乎无法找到我弄错的地方。任何帮助将不胜感激(我刚刚开始使用节点)。 我的代码就是这个,您也可以在以下链接中找到它: http://pastebin.com/G8x2GH7h
module.exports = function (directoryPath, extention, function(error, arrayOfNames) {
var fs = require('fs');
var path = require('path');
var FileNamesArray = [];
fs.readdir(directoryPath,function (error,list){
list.forEach(function (file) {
if (path.extname(file) === '.' + extention) {
FileNamesArray.push(file);
}
});
});
return FileNamesArray;
}){
return ArrayOfNames;
}
答案 0 :(得分:1)
你的问题是你在函数声明中声明了函数。
答案 1 :(得分:0)
应该是这样的
exports.functionName = function() {
// your code
};
然后在你app.js中你可以使用
var abc = require('path to file name');
abc.functionName();
示例
// square.js
var PI = Math.PI;
exports.area = function (r) {
return PI * r * r;
};
exports.circumference = function (r) {
return 2 * PI * r;
};
// app.js
var square = require("./square.js");
var mySquare = square(2);
console.log('The area of my square is ' + mySquare.area());
删除函数中的匿名函数,希望它适合你。
答案 2 :(得分:0)
您在导出部分中缺少函数的标题,应该是这样的:
module.exports = {
getFileNamesList : function (directoryPath, extention, function(error, arrayOfNames) {
var fs = require('fs');
var path = require('path');
var FileNamesArray = [];
fs.readdir(directoryPath,function (error,list){
list.forEach(function (file) {
if (path.extname(file) === '.' + extention) {
FileNamesArray.push(file);
}
});
});
return FileNamesArray;
}){
return ArrayOfNames;
}
}