簡體   English   中英

Javascript(節點)錯誤:意外的令牌功能

[英]Javascript (node) error: Unexpected token function

我正在嘗試學習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;

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM