将import()转换为同步的方式

12 浏览
0 Comments

将import()转换为同步的方式

我正在尝试将所有的节点require()转换为import()语句,但是由于后者是异步的,所以我遇到了一些问题。

目前我有:

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) {
        //这里是如果没有默认导入的情况
    }
});

我想将require(path)部分转换为import(),但仍然希望保持同步,这可能吗?如果可以,应该怎么做?

编辑:更多背景信息。我们有一个要导入的模块列表,我们这样做是为了如果一个模块出现问题,我们可以注释掉/删除它,而不必重新编写其他部分的代码。我只需要使用动态同步导入,而不使用require()

0