From TypeScript v2.4 you can use dynamic import to achieve conditional importing
An async example:
async function importModule(moduleName: string):Promise<any>{
console.log("importing ", moduleName);
const importedModule = await import(moduleName);
console.log("\timported ...");
return importedModule;
}
let moduleName:string = "module-a";
let importedModule = await importModule(moduleName);
console.log("importedModule", importedModule);