Можно ли запускать js файлы с разными разрешениями, используя nodejs / npm? - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу запустить файл js в файле js с другим разрешением. Вот так:

main.js (который начинается)


config = JSON.parse(require("./config.json")) // <- should be possible

console.log(config.authkey) // <- should be possible

require("./randomJSFile.js").run()

randomJSFile.js (который будет выполнен main. js)


exports.run = () => {

 let config = JSON.parse(require("./config.json") // <--- this should not be possible, only the main.js file should have access to the config.json file

 console.log(config.authkey) // should not be possible

}

Кто-нибудь знает, как сделать что-то подобное?

1 Ответ

1 голос
/ 09 апреля 2020

Основываясь на фрагменте этого вопроса здесь , вы можете переопределить функцию require для проверки имени файла, что-то вроде этого:

const Module = require('module');
const originalRequire = Module.prototype.require;

Module.prototype.require = function() {
  if (!arguments.length || typeof arguments[0] !== 'string') return {};
  if (arguments[0].includes('config.json')) return {};
  return originalRequire.apply(this, arguments);
};

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...