数通智联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
636 B

2 years ago
"use strict";
const path = require("path");
module.exports = { loadModule, isModuleNotFoundError };
function loadModule(moduleName) {
try {
const m = require("module");
const cwd = process.cwd();
const relativeTo = path.join(cwd, "__placeholder__.js");
// eslint-disable-next-line node/no-unsupported-features/node-builtins -- ignore
return m.createRequire(relativeTo)(moduleName);
} catch (error) {
if (!isModuleNotFoundError(error)) {
throw error;
}
// ignore
}
return null;
}
function isModuleNotFoundError(error) {
return (
error && typeof error === "object" && error.code === "MODULE_NOT_FOUND"
);
}