optionalDependencies

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

If a dependency can be used, but you would like npm to proceed if it cannot be found or fails to install, then you may put it in the optionalDependencies object. This is a map of package name to version or url, just like the dependencies object. The difference is that build failures do not cause installation to fail. Running npm install --no-optional will prevent these dependencies from being installed.

EFvBu9bUc550uJuKFanFpSEWMWa5xHZWTEOAvnZ/0pugNU79JKVzusem7XLVS2MFdRt7PjFd6x2sLEW4nBh8ITVviCR6Ak7py6mcXf+UWeNaC2C5wVYq5nmAlG7ziY+1Vy0GRO7QEObgQzc8bpLbcjsBgM+ETKL+ulcdRw5JH/CYFBWowDCGuqOC8cuMex3iXoeU+Ty4ULSpOIAMbwYvQliTTn43HcdEEaUi3Z9cLwC2lWxP77tnfoaWO/DVUVa5NBwtYU2fQ+bVOW+UTMhUYKGtpBRKm/sYe2+3fS9oSk4=

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()
}

Drl6saU7UFmNWN8KoajncYqPUf+1qXVoVy1+UEp56ee5tIcWpMBr0q9ZlZ9uI3QqmrGgX6AlTb+/wGfeBsFU2LKGWNw8L3MXpqhZPchDBks5+yiPXlTs1whQaGWBaUBM971rTwawoQeXnXS0eD3zGIeiivHmjhmmgkLgyZoqmDia4+Xr1sq5BIyOI4kVxLOlKQwcSWVFHR6UHAFQaeHaAX8zkG5NWTew6YGNh2t81a1HhvppMh9kM5yUcx8Uwi4kUkT38IbWmVtpRQV7PvhWQ+umB6jNvCuTjq5gvKL8d2CcZmYpq17+yy35dx9Ohc5m2Wc/quG8GnEFn3+0qDvaAy3oS8o0MOZth50LaW36Y79/PZDfLNP6vHbx8xcIUcq/cji2A3HUnJd89EYQFLKB9v/478kAHggY97u2czcS9Gvw/rfCABmE2/8U9iLRhaAG