Модули узла: вызов функции внутри модуля не работает - PullRequest
0 голосов
/ 24 сентября 2018

В следующем фрагменте вызов

ifDirectoryExistsNot(folderName + dataType)

заканчивается на

ReferenceError: ifDirectoryExistsNot is not defined

Знаете ли вы, почему это так?

var Folder = {
  deleteRecursively: (exportFromCosmosPath) => {
      const child_process = require ('child_process')
      const dirToRemove = exportFromCosmosPath
      const k = child_process.spawn('bash')
      k.stdin.end(`rm -rf "${dirToRemove}"`)
      k.once('exit', code => {
        // check the exit code
        // now you are done
      })
  },
  ifDirectoryExists: () => { 
    fs.existsSync
  },
  ifDirectoryExistsNot: (folderName, dataType) => {
    if (negateFunction(fs.existsSync)){
      console.log('creating dir..... ' + folderName + " " + dataType )
      fs.ensureDirSync(folderName, dataType)
    }
  },
  negateFunction: () => {
    return function(x) {
      return !func(x)
    }
  },
  ensureThatDirectoryExists: (folderName, dataType) => {
    ifDirectoryExistsNot(folderName + dataType)
  }
}



// my Code:
Folder.deleteRecursively('data/*')
Folder.ensureThatDirectoryExists('data/exportFromCosmos/', 'DEFAULT')
Folder.ensureThatDirectoryExists('data/uploadToBlobStorage/', dataType)

1 Ответ

0 голосов
/ 24 сентября 2018

Необходимо вызывать ModuleName.Function () даже изнутри модулей.

В моем случае не работали ни имя функции (), ни this.functionname ().

Но Modulename.Functionname () это решение.

Так что это решение

ensureThatDirectoryExists: (folderName, dataType) => {
  Folder.ifDirectoryExistsNot(folderName, dataType)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...