а в другом — как объект?
Есть класс Metadata
const metadataParser = require('./metadataParser');
class Metadata {
constructor(entityTypes){
this.entityTypes = entityTypes;
}
static async fromFile(metadataPath){
return metadataParser.createMetadata(metadataPath);
}
}
module.exports = Metadata;
И он используется в index.js в и metadataParser:
Index.js (тут импортируется как класс)
const Metadata = require('./src/Metadata');
...
const metadata = await Metadata.fromFile(metadataPath);
metadataParser.js:
const Metadata = require('./Metadata');
async function createMetadata(metadataPath){
const entityTypes = ...
...
//И вот тут при вызове конструктора вылетает Metadata is not a constructor. В дебаге видно, что Metadata — объект, статический метод класса Metadata (fromFile) в нем есть, но это не класс
const metadata = new Metadata(entityTypes);
return metadata;
}
module.exports = {
createMetadata
};
Почему в metadataParser метадата импортируется не как класс?
require('./Metadata').default попробуй
путь импорта точно верный?
module.exports = { Metadata, };
так у тебя циклический импорт между Metadata и metadataParser
Обсуждают сегодня