L'importation de Fichier JS en caractères d'imprimerie
Je suis à la recherche de se déplacer sur la Machine et actuellement à la recherche dans ce domaine lentement, si possible, fichier par fichier.
Maintenant le système j'ai actuellement est construit avec Webpack et je suis désireux de poursuivre cette pour la construction de l'ensemble de mon bundle.
J'ai un .d.fichier ts pour la définition, mais j'ai besoin de mon fichier de continuer à importer qui est actuellement de lancer une erreur.
///<reference path="../../../../vendor/src/foo.d.ts" />
import foo = require('../../../../vendor/src/foo.js');
foo('something');
Actuellement, il est en train de jeter des erreurs, j'ai aussi essayé sans le chemin de référence, ce qui semble générer une erreur qu'il n'est pas un module. Actuellement, la seule façon que je peux avoir aucune erreur soulevée n'est pas de l'importation et simplement l'ajout de la référence, mais cela signifie que webpack ne connaissez pas l'emplacement de mon fichier.
Toute les idées que j'ai cherché beaucoup, mais je ne peux pas vraiment le sens de l'importation de fichiers JS en caractères d'imprimerie.
OriginalL'auteur Nick White | 2015-11-04
Vous devez vous connecter pour publier un commentaire.
Pour webpack tous vous avez besoin est de
declare
larequire
de la fonction et de faire ce que vous avez déjà:La
require
fonction de la définition de type est présent ici : https://github.com/TypeStrong/ts-loader#loading-other-resources-and-code-splittingSi vous souhaitez utiliser
foo
de manière plus ferme... recommandons de portage à.ts
ainsi au lieu de lutter pour construire et puis maintenir un.d.ts
fichier..ts
dans le long terme, mais je préfère le faire progressivement et de ne pas être forcé à combattre la dépendance de l'arbre comme foo dans certains fichiers pourraient être l'un des 10 fichiers requisJ'ai juste essayé de faire une rapide tentative que je reçois maintenant Tapuscrit de se plaindre que foo est déclarée deux fois en dépit d'être seulement un fichier de définition.
twice despite being only a definition file.
Est le fichier de définition de module? Si non sa va pour l'espace de noms global et de causer des doublons : basarat.gitbooks.io/tapuscrit/content/docs/projet/...OriginalL'auteur basarat
Ce sujet il suffit de le renommer
foo.js
àfoo.ts
(il peut nécessiter certaines étapes mais souvent, il fonctionne très bien) et ensuite de réécrire votre extrait de:Mais si vous changez
foo.js
àfoo.ts
puis webpack devrait inclure le fichier dans le processus de construction, n'est-ce pas?<reference>
est utilisé pour statit type et de contrôle de fichier de l'arbre des dépendances est également basé sur<reference>
commentaires (de l'ordre de fichiers TS est important).Je vois que je doit prendre un coup d'oeil merci, j'ai installé tapuscrit de l'Atome et de faire des trucs comme ça, simplement, soulève une charge d'erreurs.
Pouvez-vous coller quelques-uns des messages d'erreur? Pour récapituler, si vous n'avez pas besoin
import
(c'est à dire que vous utilisez votre Tapuscrit application dans les navigateurs), il est beaucoup plus facile à utiliser votre outil de construction (c'est à dire webpack; j'utilise gulp-tapuscrit et il prend même en charge des versions) pour traiter tous les fichiers et ajouter juste la bonne///<reference>
s dans vos fichiers TS.Désolé, je voulais dire:
var attachCss = require('../../../../vendor/Auxilium.js/src/attach-css');
OriginalL'auteur Martin Vseticka