0

require(pkgName)成功するかどうか、つまり名前付きのパッケージが利用可能かどうかを知りたいpkgNameです。それをテストするにはどうすればよいですか?

私は私ができることを知っています

try {
  require(pkgName)
} catch (err) {
  available = false
}

requireしかし、これは読み込みエラーを飲み込みます。また、可能であれば、パッケージを 'ing することも避けたいと思います。

4

3 に答える 3

1

を使用して回避できるとは思わないでください。ただし、特にエラーrequireを確認することはできます。MODULE_NOT_FOUND

function moduleExists(mod) {
  try {
    require(mod);
  } catch(e) {
    if (e.code === 'MODULE_NOT_FOUND')
      return false;
    throw e;
  };
  return true;
}
于 2013-11-05T17:59:30.957 に答える