UNPKG

@halsp/core

Version:

面向云的现代渐进式轻量 Node.js 框架

25 lines (22 loc) 522 B
import type {} from "@halsp/cli"; import url from "url"; export async function safeImport<T = any>(name: string) { try { try { return (await dynamicImport(name)) as T; } catch { try { return _require(name) as T; } catch { return (await dynamicImport(url.pathToFileURL(name).toString())) as T; } } } catch { return null; } } const dynamicImport = new Function( "specifier", `return import(specifier); `, ) as <T = any>(specifier: string) => Promise<T>;