【问题标题】:DefinitelyTyped Typescript Definition doesn't recognize mongoose dependenciesDefinitiveTyped Typescript 定义无法识别 mongoose 依赖项
【发布时间】:2017-01-20 00:34:44
【问题描述】:

我正在使用 TypeScript、Angular 2 和猫鼬。我使用 NPM 安装了猫鼬:

"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"
  }

当然,mongoose 会安装 mongodb 作为依赖项。然后我使用命令 typipngs install dt~mongoose --global --save. 安装了 mongoose DefintielyTyped 定义,它安装了 mongoose 索引文件:

// 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');

等等等等。当我运行tsc 时,我收到以下错误:typings/globals/mongoose/index.d.ts(5,28): error TS2307: Cannot find module 'mongodb'npm install mongodb --save 感觉不对,因为它已经安装了 mongoose。

解决这个问题的正确方法是什么?

【问题讨论】:

    标签: mongodb typescript mongoose definitelytyped


    【解决方案1】:

    不是要求您安装模块,而是要求您安装 mongodb 的类型。默认情况下,类型不安装依赖类型。所以你必须手动安装每个依赖项。

    特别是对于 Mongoose,您将需要 mongodbmpromisemongoose-promise 的类型(我认为这就是全部)。

    【讨论】:

    • 谢谢!那行得通。有没有更好的方法可以编写我的 typings.json 来更好地传达 mongodb 是 mongoose 依赖项这一事实?
    • 我不知道什么
    猜你喜欢
    • 2023-01-18
    • 2021-04-16
    • 2016-11-05
    • 2013-08-21
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 2017-09-15
    相关资源
    最近更新 更多