У меня есть функция, которая выглядит следующим образом:

module.exports = myFunction() {
  //do some stuff
}

Я могу получить к нему доступ из другого файла, используя var myFunction = require(.thepath.js)

Однако, как я могу получить к нему доступ из файла, который он был создан.

Я пробовал myFunction() и this.myFunction(), но ни одна из них не работает.

Спасибо

4
userMod2 30 Авг 2017 в 08:59

3 ответа

Лучший ответ

Вы можете сохранить его в переменной, а затем экспортировать переменную следующим образом:

// Create the function
const myFunction = function() {

}

// Call the function
myFunction();

// Export the function
module.exports = myFunction
3
Get Off My Lawn 30 Авг 2017 в 06:04

Вы можете использовать анонимную функцию здесь, если вы не хотите вызывать ее в том же файле

module.exports = function (){
    // do some stuff
}

Пока вы даете ему имя, вы можете просто назвать его, используя его имя.

module.exports = function myFunction () {

// делать что-то }

ТуРипсЫоп ( )

Извините, я запомнил это неправильно. Здесь есть проблема с областью видимости, которая может быть решена путем определения функции отдельно от назначения.

function myFunction (){
    // do some stuff
}
module.exports = myFunction

myFunction()
1
skylize 30 Авг 2017 в 06:10
var func = module.exports = myFunction(){
   //do some stuff here
}

Теперь вы можете получить доступ через переменную.

0
aaqib90 30 Авг 2017 в 06:05