2017-03-29 3 views
1

Ich möchte das Bluebird-Paket, das in meiner Segel App installiert ist, zugunsten der systemeigenen Knotenversprechungen entfernen.SailsJS entfernen Bluebird

Aber nachdem ich npm remove bluebird --save gesetzt, erhalte ich:

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) 

ich nicht drossel verwenden überall in meinem Code so bin Erraten ich dies ist irgendwie eine Abhängigkeit Segel? Der Stacktrace bezieht sich auch nicht auf meine Dateien.

Dank

Antwort

1

Drossel ist eine SailsJS Abhängigkeit.

Sie können native Versprechen in Ihrer Anwendung neben Sails 'Bluebirds verwenden und es wird nahtlos funktionieren.

Bluebird hat tausende von Tests, um sicherzustellen, dass seine Versprechen nahtlos mit denen von NativeJS funktionieren - und Bluebird-Mitwirkende sind auch NodeJS-Mitwirkende, die sicherstellen, dass es auch nicht von der anderen Seite bricht. (Vollständige Offenlegung, ich bin ein Bluebird Contributor und ein NodeJS-Mitarbeiter).

einfach drossel nicht in Ihrem eigenen Code verwenden - und die Dinge werden gut funktionieren :)

Als Vorbehalt, in NodeJS 8 gibt es eine Chance nicht behandelte Versprechen Ablehnungen werfen. Sie können dies beheben, indem Sie process.on("unhandledRejection" setzen, was das gleiche Verhalten für alle Versprechen setzt.