2016-05-24 2 views
0

У меня есть это в моем файле JS:Что такое контекстно-безопасный способ вызова функций в module.exports?

module.exports.function1() {}; 

module.exports.function2() { this.function1(); }; 

module.exports.function3() { module.exports.function1(); }; 

Какой способ является предпочтительным для вызова других функций из module.exports - function2() или function3() образом? Или есть лучший способ?

Мне не нравится function2() путь, потому что это неконтекстно безопасно и function3() Путь выглядит странным для меня.

ответ

3

Лично я предпочитаю, чтобы объявить экспорт Наверху, а затем положить заявления ниже

module.exports = { 
    function1: function1, 
    function2: function2, 
    function3: function3 
} 
function function1() { } 
function function2() { function1(); } 
function function3() { function1(); } 

Редактировать я сделать это таким образом, так что объявления функций могут ссылаться друг на друга без необходимости проходить через module.exports или что-нибудь. Поскольку он находится в модуле, он самодостаточен. Кроме того, когда вы открываете файл, вы получаете четкий взгляд на экспорт, не пропуская всю реализацию.

+0

Нет объяснений, почему? Казалось бы, OP хочет больше, чем просто: «сделайте это так, ответ вроде – Icepickle

+0

- это' function1() 'на самом деле ссылающийся на' module.exports.function1() 'в этом случае? И не 'this.function1()'? –

+0

Я делаю то же самое, наоборот. С экспортом в нижней части файла. И я использую переменные на самом деле, так что это больше похоже на 'var a = function() {}'. Но это не совсем так. – Vadorequest

Смежные вопросы