SailsJS 删除蓝鸟

SailsJS remove bluebird

我想删除我的 sails 应用程序中安装的 bluebird 包,以支持本机 Node promises。

但是在我设置 npm remove bluebird --save 之后,我得到:

Error: Cannot find module 'bluebird'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/candyvoice/node_modules/sails/node_modules/consolidate/lib/consolidate.js:22:15)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/candyvoice/node_modules/sails/node_modules/consolidate/index.js:1:80)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)

我没有在我的代码中的任何地方使用 bluebird,所以我猜这是某种 Sails 依赖项?堆栈跟踪也不引用我的任何文件。

谢谢

Bluebird 是 SailsJS 依赖项。

您可以在您的应用程序中使用本机承诺和 Sails 的蓝鸟承诺,它会无缝地工作。

Bluebird 进行了数以千计的测试,以确保其 promise 与本地 promise 无缝协作 - bluebird 的贡献者也是 NodeJS 的贡献者,以确保它不会从另一方中断。 (完全公开,我是蓝鸟贡献者和 NodeJS 合作者)。

请不要在您自己的代码中使用 bluebird - 一切都会运行良好:)

需要注意的是,在 NodeJS 8 中,有可能会抛出未处理的 promise 拒绝。您可以通过设置 process.on("unhandledRejection" 来解决此问题,这将为所有承诺设置相同的行为。