38 votes

Rails passer à l'angle 2

Je voudrais mettre à jour mon Rails et Angulaire 1.x application. Je suis à la suite de la ng-mise à niveau de la documentation et de voir qu'il y a beaucoup de dépendances, y compris systemjs, tapuscrit, dnt et quelques autres bibliothèques javascript. Idéalement, il y aurait un angulaires-2 gem qui aurait toutes les dépendances, mais je ne suis pas en mesure de trouver. Ensuite, j'ai cherché du gem pour chaque dépendance, mais il n'y en a pas un pour le dnt.

Est-il judicieux de passer à une version personnalisée de la stratégie afin que je puisse utiliser npm javascript pour la gestion des paquets? J'ai lu cet article qui recommande de gulp, mais j'aime la commodité de l'asset pipeline.

Quelqu'un peut-il m'indiquer des exemples de succès à l'aide de ng-mise à niveau avec un rails de projet? Faut-il utiliser une version personnalisée de la solution comme gulp ou faut-il utiliser l'asset pipeline?

10voto

Fire-Dragon-DoL Points 3290

Ma principale suggestion est de ne pas mettre encore Angular2, est encore fortement dans le développement et la vous ferez face à beaucoup de problèmes comme ne pas trouver un bijou pour les rails.

De toute façon, actuellement, angular2 ne peut pas être compilé avec les pignons (la valeur par défaut de rails de pipeline), si vous avez vraiment envie d'une solution personnalisée.

Ma principale suggestion est d'aller avec webpack, d'autres options sont browserify ou gulp (et d'autres), c'est principalement une question de goût. Dans l'ensemble, la configuration d'un pipeline pour angular2 est compliqué, vous devez prendre soin d' .d.ts fichiers par le biais d' typings (qui est la version mise à jour de tsd qui est maintenant obsolète), vous devez transpile votre texte tapé à la machine par le biais tsc et éventuellement par l'intermédiaire d' babel aussi, si vous souhaitez utiliser async/await (qui sont vraiment cool). Vous allez perdre la capacité de faire référence à vos fichiers dans les rails comme image_path et ce, à l'aide d'un pipeline personnalisé, si vous voulez prendre cela en considération aussi.

Tapuscrit est beaucoup plus complexe pour la compilation que de simples fichiers coffeescript, vous pouvez compter sur tous les autres fichier de référence, car il a besoin de compiler vérifier contre, il ne faut pas s'attendre à quelque chose de simple.

Cela étant dit, si vous voulez vraiment travailler avec des Rails et Angulaire (2 ou pas), la bonne façon de les gérer, c'est d'avoir deux projets distincts, l'un avec seulement l'application Rails et un avec le AngularJS chemin. De cette façon, vous séparer d'inquiétude, vous pouvez avoir un pipeline personnalisé pour Angular2 sans impact sur les Rails et vous serez peut-être obligé correctement le code de votre Angular2 application à l'aide de Rails comme une API JSON, comme vous devriez.

-1voto

vipin Points 410

utiliser angularjs gem

 gem 'angularjs-rails', '~> 1.4', '>= 1.4.8'
 

insérer dans application.js

   //= require angular
 

-1voto

endeR Points 485

Vous pouvez utiliser http://bower.io/#install-bower et ajouter deux fichiers à votre application the rails%% .bowerrc et bower.json ce qui correspond à GemFile

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X