6 votes

Rails : Rafraîchir automatiquement le navigateur en cas de modification de la vue (et des fichiers associés)

Une grande partie de mon travail (dans Rails) est en fait centrée sur les vues, les images, les fichiers SASS/CSS et Coffescript/Javascript et j'aimerais avoir une solution qui rafraîchisse le navigateur, chaque fois que je fais une modification à l'un de ces types de fichiers. Un peu comme autotest ou watchr mais pour les tâches de 'design'.

J'ai regardé watchr et fs-event, qui semblent fournir une fonctionnalité connexe et j'ai fait le tour du web, mais je n'ai pas encore trouvé de solution toute prête. Ai-je manqué quelque chose ? Difficile de croire que cela n'a pas encore été fait - les outils existent clairement.

En supposant qu'un tel outil n'existe pas vraiment, j'aimerais essayer d'écrire ma propre solution. Si vous avez des conseils à me donner sur ce qu'il faut prendre en compte, sur les projets intéressants, etc , je vous en serais reconnaissant.

Mise à jour Un exemple de flux de travail ressemblerait à ceci :

  1. Lancez "l'application watcher" dans le terminal
  2. Le serveur Rails démarre s'il n'est pas en cours d'exécution.
  3. La fenêtre du navigateur s'ouvre automatiquement et pointe vers le serveur de rails.
  4. Je change un peu de HTML dans une vue.
  5. Le navigateur se rafraîchit automatiquement
  6. Je mets à jour certaines CSS
  7. Le navigateur se rafraîchit automatiquement
  8. J'ajoute un nouveau fichier JS
  9. Le navigateur se rafraîchit automatiquement

A la vôtre !

10voto

Pierre-Luc Simard Points 2233

D'après votre description, je pense que LiveReload ferait l'affaire pour vous.

Vous devrez modifier le .livereload pour ne recharger le navigateur qu'en cas de changement de fichier spécifique, mais tout est couvert dans le fichier readme (allez à la section configuration).

Il y a aussi XRefresh qui peut faire à peu près la même chose mais je ne l'ai jamais utilisé.

4voto

Wilhelm Points 434

Essayez Guard::Livereload . Il rechargera automatiquement votre navigateur lorsque les fichiers 'view' seront modifiés.

Pour plus d'informations (et une démo), voir : http://asciicasts.com/episodes/264-guard

3voto

Cratchitimo Points 841

Peut-être cherchez-vous quelque chose comme ce projet ?

https://github.com/logankoester/autorefresh

1voto

rharter Points 825

Cela fait un moment, mais j'ai trouvé quelque chose que je pense être encore mieux que toutes ces options. Avec Live.js vous n'avez même pas besoin de modifier votre projet, vous pouvez simplement cliquer sur le bookmarklet et il sera automatiquement mis à jour lorsque quelque chose change.

Le seul inconvénient est que vous obtiendrez beaucoup de requêtes HEAD dans votre journal de serveur, mais comme je l'utilise pour faire des modifications de style, cela ne me dérange pas vraiment. Je préfère avoir cela plutôt que d'avoir à modifier mon projet juste pour un outil de développement.

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