Javascript(节点)错误:意外的令牌功能

时间:2015-05-29 09:57:36

标签: javascript node.js mean-stack

我正在尝试学习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;
}

3 个答案:

答案 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;

        }
    }