2016-10-20 2 views
5

Je travaille sur la bibliothèque surveyjsComment créer le fichier de définition dactylographiée (de d.ts) pour la bibliothèque umd

Il utilise gulp + webpack pour construire ensemble umd. Je souhaite créer l'ensemble de définition de type (ou peut-être plusieurs fichiers d.ts) à utiliser dans les projets de type dactylographié. Je voudrais avoir quelque chose comme ça.

import * as Survey from 'surveyjs'; 

Tous Contens pour l'enquête * est décrite ici: https://github.com/dmitrykurmanov/surveyjs/blob/master/src/entries/ko.ts

J'ai essayé d'utiliser: github.com/SitePen/dts-generator et github.com/TypeStrong/dts-bundle Mais sans succès, quelqu'un pourrait-il me montrer la bonne direction?

+0

Uhm .. vous pouvez configurer tsc dans tscconfig.json aux déclarations de sortie et en utilisant la déclaration ** ** drapeau. – toskv

+1

Enfin, nous l'avons implémenté avec dts-bundle – duodvk

Répondre

1

Vous pouvez demander tsc pour générer les fichiers de déclaration de votre code en ajoutant la déclaration drapeau dans tsconfig.json.

Dans votre cas, il serait:

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "es2015", 
    "sourceMap": true, 
    "noImplicitAny": false, 
    "jsx": "react", 
    "declaration": true 
    }, 
// "filesGlob": [ 
    // "typings/index.d.ts" 
    // ], // TODO 
    "include": [ 
    "typings/index.d.ts", 
    "src/**/*" 
    ], 
    "exclude": [ 
    "node_modules", 
    "**/*.spec.ts" 
    ] 
} 
+1

Oui, c'est le cas. Le problème dans la sortie webpack-stream. C'est juste js bundle, mais comment puis-je obtenir d.ts? Donc, je lance le compilateur 'gulp-typescript' séparément et génère des dts. Ce n'est pas cool. – duodvk

+0

cela dépend vraiment beaucoup de votre installation .. si vous voulez une réponse plus spécifique, vous devriez en partager plus. – toskv

+0

Et un autre problème est bundle.d.ts. Est-il possible de le créer? J'ai trouvé deux projets ** github.com/TypeStrong/dts-bundle ** et ** github.com/SitePen/dts-generator ** J'ai échoué avec les config. Avez-vous des exemples de réussite? – duodvk