У меня есть такой модуль.
//a require block
const requires = require('requires');
let envSpecificVar = ""
// env specific variable set
if(envCheck()){
envSpecificVar = "env"
}
module.exports = function(Model){
Model.func1 = function(data,cb){
//do some things
}
Model.func2 = function(data,cb){
//do some things
}
Model.func3 = function(data,cb){
//do some things
}
}
Теперь я хочу разбить его на несколько файлов.Что я и сделал так:
index.js
module.exports = function(Model){
require('./func1').call(this,Model);
require('./func2').call(this,Model);
}
fun1.js
module.exports = function (Model) {
Model.func1 = function (data, cb) {
//do some things
}
}
И так далее.И я называю это как
const bFiles = require('./brokenFiles');
.
.
bFiles.call(this, Model);
Но я знаю, что я только передаю контекст this
и не могу получить доступ к закрытию.
Но я хочу именно это сделать.Потому что есть странные переменные env, которые установлены в основном файле js. (который я не могу изменить)
Это MCVE .Не стесняйтесь спрашивать дополнительную информацию или пометить ее как дубликат.