2014-10-04 25 views
3

我有一个项目,我正在使用打字稿并希望使用打字稿定义文件来与库(如猫鼬)进行接口。我已经通过如何使用.d.ts文件

tsd query mongoose --action install 
tsd query node --action install 

安装了相应的.d.ts文件我想通过以下代码导入猫鼬

///<reference path="../typings/mongoose/mongoose.d.ts"> 
import mongoose = require("mongoose"); 

class MongooseUser 
{ 
    constructor() 
    { 

    } 

    useMongoose():any { 
     return mongoose.Collection; 
    } 
} 

很显然,我并不想,此刻在这里做什么,但是当我transpile这个我收到以下错误

Unable to resolve external module '"mongoose"'. 
Module cannot be aliased to a non-module type. 
error TS2095: Could not find symbol 'mongoose'. 

无论是寻找如何使用这些东西(其中黯然文档是在提供可怕),或者一些指针,一个完整的例子。谢谢。

+0

您是否使用Visual Studio? – Fenton 2014-10-04 07:02:25

+0

不,我正在使用PHPStorm – ed209 2014-10-04 13:20:26

+0

我对这些有点缺乏经验,但解决方案是简单地为.d.ts文件提供正确的路径。当时我不明白,它们只是允许你键入对象的接口,并且与实际的猫鼬文件无关。 – ed209 2015-06-02 14:37:27

回答

6

您的参考标签不正确。您忘记关闭它/>。修正:

///<reference path="../typings/mongoose/mongoose.d.ts"/> 

这将帮助你避免这样的错误:https://github.com/TypeStrong/grunt-ts#references

+0

我使用gulp而不是grunt,但是这并没有解决问题。 – ed209 2014-10-05 14:46:14

2

的d.ts是你的定义文件,它已无关,与猫鼬包是仅适用于智能感知,你肯定是猫鼬安装在您的node_module中,请检查并在本地以及全局安装

相关问题