Из документации веб-пакета , когда во время компиляции неизвестно выражение require, оно должно сгенерировать модуль контекста и включить все модули, которые могут соответствовать выражению.
const handlers = {};
for (const name of Object.keys(SomeObject)) {
try {
handlers[name] = require(`./${name}.js`);
} catch {} // eslint-disable-line no-empty
}
module.exports = handlers;
однако, что я получаю, это `
const handlers = {};
for (const name of Object.keys(SomeObject)) {
try {
handlers[name] = require(`./${name}.js`);
} catch {} // eslint-disable-line no-empty
}
module.exports = handlers;
, однако, что я на самом деле получаю, это ошибка Cannot find module ./\u001a.js
, но если я превращаю ее в динамическое c выражение для импорта, то это работает
const handlers = {};
for (const name of Object.keys(SomeObject)) {
try {
import(`./${name}.js`).then(m => { handler[name] = m; });
} catch {} // eslint-disable-line no-empty
}
module.exports = handlers;
Но я бы предпочел не делать этого, так как код, вызывающий проблемы, происходит из некоторого пакета узла