Javascript (node)错误:意外的令牌函数

Javascript (node) error: Unexpected token function

本文关键字:意外 令牌 函数 错误 node Javascript      更新时间:2023-09-26

我正在尝试学习younode研讨会,使其模块化的步骤是精确的。我在链接中编写了代码,并得到了"标题错误"。我检查了括号和圆括号,但似乎找不到我错在哪里。任何帮助将不胜感激(我刚开始与节点)。我的代码是这样的,你也可以在这个链接上找到它: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;
}

你的问题是你在函数声明中声明函数

应该是这样的

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());

删除函数中的匿名函数,希望它能正常工作。

您在导出部分缺少函数的标题,应该这样做:

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;
        }
    }