Комментарии 6
Есть ли смысл сейчас изучать внутренности require, ведь грядут нативные модули во все поля?
Конечно не сработает, мы же только что переписали значение переменной целиком. Все равно что сделать:
// или даже так, что вместе с предыдущими строчками // в одном модуле не сработает! module.exports = function() { return "I have not a name"; }
Конечно не сработает, мы же только что переписали значение переменной целиком. Все равно что сделать:
global.answer = 42;
myVar = {answer: 24}
и удивляться, что a.answer !== 42
А так сработоет:
в модуле
module.exports = function() { return «I have not a name»; }
module.exports.abc = ['a', 'b', '!'];
далее в другом файле
var f = require('./module.js');
var str = f();
str += f.abc[2];
console.log(str); // печатает: I have not a name!
Что мне и было нужно.
Рад, что у Вас не возникает таких заморочек )
в модуле
module.exports = function() { return «I have not a name»; }
module.exports.abc = ['a', 'b', '!'];
далее в другом файле
var f = require('./module.js');
var str = f();
str += f.abc[2];
console.log(str); // печатает: I have not a name!
Что мне и было нужно.
Рад, что у Вас не возникает таких заморочек )
thenodeway.io/posts/how-require-actually-works
Вообще, советую прочитать полностью всё что есть на этом сайте. Благо там не так уж и много всего.
Единственная мысль, которая была подмечена правильно: нужно стараться использовать только module.exports. А в остальном — всё плохо…
Вообще, советую прочитать полностью всё что есть на этом сайте. Благо там не так уж и много всего.
Единственная мысль, которая была подмечена правильно: нужно стараться использовать только module.exports. А в остальном — всё плохо…
Вместо тысячи слов:
github.com/nodejs/node/blob/master/lib/internal/module.js
github.com/nodejs/node/blob/master/lib/internal/module.js
у меня код который автоматически «реквайрит» все файлы из указанной папки, код работает все ок, НО как использовать в файле в который реквайрится модуль, его экспортированную функцию, если нет var foo = require бла-бла-бла !?
function test(params) {
console.log('тестовый модуль из папки модулей успешно required');
}
module.exports._test = test;
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Экспорт, импорт в Node.JS