打字稿尝试使用动态需求但无法正常工作

时间:2018-12-17 18:26:17

标签: javascript typescript react-native ecmascript-6 commonjs

好吧,我正在尝试像这样从require module动态地node_modules

export function tryRequire(path: string): any {
  try {
    //TODO :: find a better way

    //for testing bypass it
    if (process.env.NODE_ENV === "test") return {};

    return require(`${path}`).default;
  } catch (err) {
    return null;
  }
}

TypeScript编译为JavaScript的方式为:

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.tryRequire = tryRequire;

function tryRequire(path) {
  try {
    //TODO :: find a better way
    //for testing bypass it
    if (process.env.NODE_ENV === "test") return {};

    return require("".concat(path));
  } catch (err) {
    return null;
  }
}

现在,当我尝试在Javascript中使用它时,请说:

tryRequire("react-native")

它不起作用,这里缺少什么吗?

编辑:如果我编辑了编译后的代码,然后将return require("".concat(path));替换为`return require(“ react-native”);,这是有趣的。 ,就可以了!

0 个答案:

没有答案