2015-11-04 2 views
0

Я только что начали использовать машинописный для развития NodeJS сервера и я столкнулся следующие ошибки:Машинопись - NodeJS - Mongoose

./app/api/shoutbox/shoutbox.dao.ts 
error TS2339: Property 'statics' does not exist on type 'Schema' 

./app/api/shoutbox/shoutbox.controller.ts 
error TS2339: Property 'getAll' does not exist on type 'Model<Document>'. 

./app/api/shoutbox/shoutbox.controller.ts 
error TS2339: Property 'catch' does not exist on type 'Promise<{}>'. 

Я использую Webpack и TS-Loader. И я ссылаюсь на

/// <reference path="mongoose/mongoose.d.ts" /> 
/// <reference path="node/node.d.ts" /> 
/// <reference path="express/express.d.ts" /> 
/// <reference path="mime/mime.d.ts" /> 
/// <reference path="serve-static/serve-static.d.ts" /> 
/// <reference path="lodash/lodash.d.ts" /> 
/// <reference path="bluebird/bluebird.d.ts" /> 



// shoutbox.model.ts 
import mongoose = require('mongoose'); 
var _shoutboxSchema = { 
    author: { 
     type: String, 
     required: true 
    }, 
    created: { 
     type: Date, 
     default: Date.now 
    }, 
    msg: String 
}; 
export default new mongoose.Schema(_shoutboxSchema); 


// shoutbox.dao.ts 
import mongoose = require('mongoose'); 
import Promise = require('bluebird'); 
import _ = require('lodash'); 
import shoutboxSchema from './shoutbox.model'; 

shoutboxSchema.statics.getAll =():Promise<any> => { 
    var _promise = (resolve:Function, reject:Function):void => { 
     var _query = {}; 
     Shoutbox 
      .find(_query) 
      .exec((err, shoutbox) => { 
       err ? reject(err) 
        : resolve(shoutbox); 
      }); 
    }; 
    return new Promise (_promise); 
}; 
var Shoutbox = mongoose.model('Shoutbox', shoutboxSchema); 
export default Shoutbox; 

// shoutbox.controller.ts 
import ShoutboxDAO from './shoutbox.dao'; 
import express = require("express"); 

export class ShoutboxController { 
    static getAll(req:express.Request, res:express.Response):void { 
     ShoutboxDAO 
      .getAll() 
      .then(shoutbox => res.status(200).json(shoutbox)) 
      .catch(error => res.status(400).json(error)); 
    } 
} 

Я пробовал уже довольно долгое время, но я не могу избавиться от ошибок.

Сам код работает, как и предполагалось, но я продолжаю получать эти ошибки.

Im благодарен за любую помощь.

ответ

Смежные вопросы