2016-07-29 17 views
0

Hier zu verwenden ist die JS-Datei:JavaScript-Modul in Typoskript Datei

var mongoose=require('mongoose'); 
var express=require('express'); 
var app=express(); 

var connect=mongoose.connect("mongodb://localhost:27017/techo2log"); 
var schema=mongoose.Schema; 
var userschema=new schema(
{ 
    name:String, 
    age:Number, 
    address:String, 
    created_at:Date, 
    updated_at:Date, 

} 
); 

var User=mongoose.model('User',userschema); 
userschema.method.dudify=function() 
{ 
this.name=this.name+'-dude'; 
return this.name; 
} 

//making the model available to the external file 
module.exports=User; 

Ich möchte die User Module in meinem Typ Skript verwenden file.How sollte ich das Typoskript Definitionsdatei für den obigen Code schreiben so dass ich in meine .ts Datei importieren konnte.

+0

Mögliche Duplikat von [Wie eine js Bibliothek ohne Definitionsdatei in Typoskript-Datei importieren] (http://stackoverflow.com/ Fragen/22842389/how-to-Import-a-js-Bibliothek-ohne-Definition-Datei-in-Typoskript-Datei) –

Antwort

0

Ich nehme an, Sie haben ein NodeJS-Modul geschrieben, stellen Sie also zuerst sicher, dass Sie --module commonjs als Compileroption (oder in Ihrem tsconfig.json) verwenden.

Zweitens müssen Sie nur eine Definitionsdatei erstellen. Wenn Ihr JS-Datei namens ‚user.js‘, könnten Sie Ihre Definitionsdatei ‚user.d.ts‘ nennen und könnte wie folgt aussehen:

declare module 'user' { 
    var User: any; 
    export = User; 
} 

Natürlich könnten Sie die Art der User verfeinern, aber als Anfang sollte dies den Trick tun.

Drittens können Sie Ihr Modul in Typoskript mit einer solchen Linie importieren:

import User = require('user'); 
+0

Ich erhalte den Fehler als "Modul 'Benutzer' nicht gefunden beim Importieren in Typoskript. –

+0

Ich habe versucht alle Dinge, aber immer noch den gleichen Fehler.Auch versucht, die ///

Verwandte Themen