optionalDependencies

中英双语

如果可以使用依赖项,但如果找不到或无法安装,您希望 npm 继续,那么您可以将其放在 optionalDependencies 对象中。这是包名称到版本或 url 的映射,就像 dependencies 对象一样。不同之处在于构建失败不会导致安装失败。运行 npm install --omit=optional 将阻止安装这些依赖项。

处理缺乏依赖性仍然是您的程序的责任。例如,像这样:

try {
  var foo = require('foo')
  var fooVersion = require('foo/package.json').version
} catch (er) {
  foo = null
}
if ( notGoodFooVersion(fooVersion) ) {
  foo = null
}

// .. then later in your program ..

if (foo) {
  foo.doFooThings()
}

optionalDependencies 中的条目将覆盖 dependencies 中的同名条目,因此通常最好只放在一个位置。