2016-09-12 3 views
0

Ich verwende TypeScript, Angular 2 und Mungo. Ich installierte Mungo mit NPM:DefinitelyTyped Typescript Definition erkennt keine Mungo-Abhängigkeiten

"dependencies": { 
    "@angular/common": "2.0.0-rc.6", 
    "@angular/compiler": "2.0.0-rc.6", 
    "@angular/core": "2.0.0-rc.6", 
    "@angular/forms": "2.0.0-rc.6", 
    "@angular/http": "2.0.0-rc.6", 
    "@angular/platform-browser": "2.0.0-rc.6", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.6", 
    "@angular/router": "3.0.0-rc.2", 
    "@angular/upgrade": "2.0.0-rc.6", 
    "body-parser": "^1.15.2", 
    "bootstrap": "^3.3.6", 
    "core-js": "^2.4.1", 
    "express": "^4.13.4", 
    "jquery": "^3.1.0", 
    "mongoose": "^4.6.0", 
    "morgan": "^1.7.0", 
    "path": "^0.12.7", 
    "reflect-metadata": "^0.1.3", 
    "rxjs": "5.0.0-beta.11", 
    "systemjs": "0.19.27", 
    "typescript": "^2.0.0", 
    "typings": "^1.3.2", 
    "zone.js": "^0.6.17" 
    }, 
    "devDependencies": { 
    "jasmine-core": "^2.5.1", 
    "karma": "^1.2.0", 
    "karma-chrome-launcher": "^2.0.0", 
    "karma-cli": "^1.0.1", 
    "karma-firefox-launcher": "^1.0.0", 
    "karma-jasmine": "^1.0.2" 
    } 

Natürlich Mungo mongodb als Abhängigkeit installiert. Ich installierte dann die Mungo DefintielyTyped Definitionen Befehl typipngs install dt~mongoose --global --save. dass die Mungo-Indexdatei installiert:

// Generated by typings 
// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/51c51f03549a63f8791865bf26480947e22f4902/mongoose/mongoose.d.ts 
declare module "mongoose" { 
    import events = require('events'); 
    import mongodb = require('mongodb'); 
    import stream = require('stream'); 
    import mongoose = require('mongoose'); 

etc., etc. Wenn ich tsc laufen, bekomme ich folgende Fehlermeldung: typings/globals/mongoose/index.d.ts(5,28): error TS2307: Cannot find module 'mongodb'. Es fühlt sich nicht richtig an npm install mongodb --save, da es bereits mit Mungo installiert ist.

Was ist der richtige Weg, um dies zu beheben?

Antwort

1

Sie werden nicht aufgefordert, das Modul zu installieren, es fordert Sie auf, die Typen für mongodb zu installieren. Typings standardmäßig installieren keine Abhängigkeitstypings. Sie müssen also alle Abhängigkeiten manuell durchgehen und installieren.

Speziell für Mongoose, werden Sie die Typings für mongodb, mpromise und mongoose-promise benötigen (ich denke, das ist alles von ihnen).

+0

Danke! Das hat funktioniert. Gibt es einen besseren Weg, meine Typings.json zu schreiben, um die Tatsache besser zu vermitteln, dass Mongodb eine Mangustenabhängigkeit ist? –

+0

Nichts, was mir bekannt ist –