машинопись пытается использовать динамическое требование, но не работает - PullRequest
0 голосов
/ 17 декабря 2018

хорошо, я пытаюсь require a 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 (" Reaction-native ');, работает просто отлично!

...