Как получить переменную из файла в другой файл в node.js
Вот мой первый файл:
var self=this;
var config ={
'confvar':'configval'
};
Я хочу эту конфигурационную переменную в другом файле, так что я сделал в другом файле:
conf = require('./conf');
url=conf.config.confvar;
но это дает мне ошибку.
TypeError: Cannot read property 'confvar' of undefined
Пожалуйста, предложите, что я могу сделать?
Ответы
Ответ 1
Что вам нужно - module.exports
экспорт
Объект, который совместно используется всеми экземплярами текущего модуля и доступен через require(). Экспорт такой же, как и объект module.exports. См. Src/node.js для получения дополнительной информации. экспорт не является глобальным, а скорее локальным для каждого модуля.
Например, если вы хотите выставить variableName
со значением "variableValue"
на sourceFile.js
вы можете либо установить весь экспорт как таковой:
module.exports = { variableName: "variableValue" };
ИЛИ вы можете установить индивидуальное значение с помощью:
module.exports.variableName = "variableValue";
Чтобы использовать это значение в другом файле, вам нужно сначала (require(...)
сначала (с относительным перемещением):
var sourceFile = require('./sourceFile');
console.log(sourceFile.variableName);
Ответ 2
FileOne.js
module.exports = {ClientIDUnsplash: 'SuperSecretKey'}
FileTwo.js
var {ClientIDUnsplash} = require ('./FileOne');
Этот пример лучше всего работает для ReactJs
Ответ 3
Вам нужно передать объект вместо строки.
first.js
var a = {
txt : 'this is first.js'
}
function too() {
console.log(a.txt);
}
module.exports = { foo: a, too:too };
в app.js вы можете изменить его, и это будет отражено везде
var a = require("./first");
a.foo.txt = 'hahaha';
console.log(a.foo.txt);
a.too();
Я надеюсь, что это помогает.