2016-02-24 1 views
2

Je crée la version ts de tous les fichiers dans un fichier et j'essaie de l'utiliser. Mais ça ne marche pas avec ça. Le normal fonctionne. Voici le tsconfig:Impossible d'utiliser la version de construction de la compilation tsc

"compilerOptions": { 
    "target": "ES5", 
    "module": "system", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false, 
    "declaration": true, 
"outDir":"client/build/", 
"outFile": "all.js" 
    }, 

Le code HTML charge all.js et l'importation du système.

<script src="client/build/all.js"></script> 
<!-- 2. Configure SystemJS and Import --> 
<script> 
    System.config({ 
    packages: {   
     client: { 
     format: 'register', 
     defaultExtension: 'js' 
     } 
    } 
    }); 
    System.import('client/build/all') 
     .then(null, console.error.bind(console)); 
</script> 

La génération se produit mais ne peut pas être chargée dans le fichier index.html. Que faut-il de plus pour que cela fonctionne? Deuxièmement est-il un minify avec tsc? Note: a vérifié Typescript compile to single file

Mise à jour

Juste mis à jour à tapuscrit 1.9dev et erreur est survenue lors:

[0] node_modules/angular2/src/façade/promise.d.ts (1, 10): erreur TS2661: Impossible de réexporter le nom qui n'est pas défini dans le module. [0] client/services/httpprovider.ts (13,5): erreur TS4053: Le type de retour de la méthode publique de la classe exportée utilise ou utilise le nom 'Observable' du module externe "c:/git/projects/edureka/yeo/2/node_modules/rxjs/Observable "mais ne peut pas être nommé.

Mise à jour: Maintenant sur la version 1.82 stable.

Mise à jour Mise à jour: A travaillé avec des paquets définition de configuration (Voir commentaire pour Sasxa) - https://github.com/systemjs/systemjs/blob/master/docs/production-workflows.md

+0

Un message d'erreur concret? –

+0

Aucun message d'erreur. TS 1.5.3 – Gary

+0

pas sûr de ce qui se passe, vous obtenez un chargement de 404 all.js? est le fichier all.js là dans le dossier de construction? Toutes les erreurs sur la console est préférable de les poster ici. Essayez Typescript 1.8 car il a la fonctionnalité de regroupement et c'est une version stable -W https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript Celui que vous avez installé 1.9.dev aura probablement toutes sortes de pièges que sa version alpha –

Répondre

2

Vous fichiers empaquetés déjà chargé avec:

<script src="client/build/all.js"></script> 

Vous ne devez pas les importer à nouveau avec SystemJS.

// System.import('client/build/all') 

Au lieu de cela, vous devez importer votre fichier d'amorçage:

System.import('client/bootstrap') 

(ou quel que soit le nom qu'il est inscrit dans votre paquet all.js ...)

+0

Bootstrap est également dans le même fichier. Donc ce serait 'client/build/boot' ou serait-ce juste le nom du registre? Je regarde cela, mais pas beaucoup d'aide https://github.com/systemjs/systemjs/blob/master/docs/production-workflows.md et quand je fais ce que vous avez dit, il n'identifie pas mon composant racine. dit sélecteur est manquant. – Gary

+0

Exception: Le sélecteur "main-app" ne correspond à aucun élément – Gary

+0

Je crois que cela devrait être juste "boot" si c'est ce à quoi il est enregistré. Je n'ai pas travaillé avec des bundles pendant un moment, mais j'ai trouvé ceci: 'System.register (" scripts/app/bootstrap.js ", [" angular2/platform/browser.js ", .....' de Dans ce cas, j'ai utilisé 'System.import ('scripts/app/bootstrap')' pour démarrer l'application ... Les documents ne sont pas très utiles, et les guides/didacticiels que j'ai vus sont très pauvres (ou couvrir des cas simples de base), donc ce que j'ai réussi à apprendre a été un essai et une erreur;/Je travaille sur quelques applications sans paquets, et j'espère que les choses s'amélioreront au moment où je les finirai: ( – Sasxa

0

Je viens couru à travers cette erreur après avoir téléchargé un exemple de solution MVC Angular2 à partir du Web:

node_modules/angular2/src/facade/promise.d.ts (1,10): erreur TS2661: Impossible de réexporter le nom qui n'est pas défini dans le module. [0]

La cause première était qu'il y avait un bug dans Angular. La solution: Exécutez la mise à jour NPM sur le dossier Angular2 dans le projet.