Issue
I'm trying to convert all of my node require()s into the import() statements, however, those are async and I'm having a bit of trouble.
Right now I have:
import * as fs from 'fs';
const paths = fs.readdirSync('./src/modules').map(path => './modules/' + path.slice(0, path.length - 3));
const classes = [];
paths.forEach(path => {
let bClass = require(path);
try {
classes.push(new bClass.default());
}
catch (err) {
//Here for if no default import
}
});
and want to convert that require(path) part into an import() but still want to keep it synchronous, is that possible? If it is, how would I got about it?
Edit: a little more context. I have a list of modules that we want to import, and we're doing it this way so if something bugs out with one module we can just comment it out / remove it and not have to recode everything else. I just need dynamic synchronous imports without using require().
Solution
There is no way to do this currently with commonJS. Until there is some synchronous import() or top-level await, this cannot be done.
Answered By - R. Gillie
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.