2016-11-28 5 views
0

Je veux utiliser tapuscrit juste pour typages. Je ne veux pas utiliser de classes, d'interfaces, ni même utiliser de définitions TypeScript. La raison en est que j'utilise des plugins jQuery qui n'ont pas de définitions TypeScript et que je ne peux pas les écrire en raison de contraintes de temps.tapuscrit juste pour typages dans Visual Studio 2015

Je continue à lire que je devrais être en mesure d'utiliser typages sans les autres fonctionnalités, car tapuscrit est basé sur JavaScript, mais je ne peux pas trouver un moyen. Considérez le code ci-dessous. Je n'utilise pas la définition de type jQuery, donc je reçois, "Impossible de trouver le nom $". Et encore une fois, je ne veux pas utiliser les définitions TypeScript si elles ne couvrent pas tout ce que j'utilise.

Ainsi, le fichier TS ne sont pas transpiled dans un fichier JS. Et la génération dans Visual Studio 2015 échoue.

Ma question est - comment puis-je avoir ce travail dans Visual Studio 2015? Ceci est mon fichier TS:

class Dto { 
    name: string; 
    age: number; 
} 

$.ajax({ 
    url: "", 
    method: "PUT", 
    data: {} 
}) 
.then(function (response: Dto) { 
    response.age = 16; 
}); 
+1

définition dactylographiée est de savoir comment tapuscrit sait types, vous ne pouvez pas avoir tapé troisième bibliothèques de parti sans eux. – toskv

+0

TypeScript sans ** définition de type ** est inutile. – Misaz

Répondre

1

Utilisez JQuery sans typages

Avant d'utiliser $, vous pouvez déclarer au compilateur qu'il existe:

declare var $: any; 

Vous pouvez déclarer toutes les variables globales que vous utilisez à partir du type any et le compilateur ne s'en plaindra pas.

Utilisez les typages JQuery et un plug-in sans typages

Avec tapuscrit, chaque interface peut être complétée de partout. Après avoir importé typages pour JQuery, les membres manquants peuvent être ajoutés à partir de votre propre code:

interface JQuery { 
    hereAMemberName: any 
} 
$('body').hereAMemberName // OK 

Et/ou:

interface JQueryStatic { 
    hereAMemberName: any 
} 
$.hereAMemberName // OK 
+0

Merci, merci, merci! – user11081980