Existe-t-il un moyen de compiler facilement CoffeeScript lors de la sauvegarde ? J'utilise TextMate ou Sublime Text 2.
Réponses
Trop de publicités?Coffeescript a une fonction de "surveillance". Vous pourriez la mettre en place, comme un processus semi-permanent :
coffee –wc -o media/js/ src/coffee/*.coffee
Et pour chaque fichier portant l'extension ".coffee", le fichier compilé ".js" correspondant sera placé dans le répertoire cible à chaque sauvegarde.
Cela dit, j'utilise un makefile et un fabfile, car mon HTML est HAML, mon CSS est LessCSS, et mon répertoire de développement n'est pas mon chemin de test, donc j'avais besoin de quelque chose d'assez intelligent pour "construire et déployer".
Si votre machine supporte inotify, vous pouvez utiliser inotifywait pour surveiller l'ensemble de votre parcours de travail et appeler Make si nécessaire. Mais à ce stade, vous êtes dans le domaine du geekisme pur et dur.
Vous pouvez également effectuer cette opération sans passer par la ligne de commande :
- Ajouter un processus de construction à Sublime Text .
- Assurez-vous que
Save All on Build
est sélectionné dans leTools
menu. - Utilisez ⌘B au lieu de ⌘S lors de la sauvegarde.
Donc au lieu de compiler en sauvegardant, vous sauvegardez en compilant.
La solution la plus simple avec Sublime, est d'installer le paquet Sublime appelé Better Coffeescript (préférences --> contrôle des paquets --> installer le paquet...), puis de s'assurer que sa configuration inclut "compileOnSave": true
(préférences --> paramètres du paquet --> Meilleur Coffeescript...). Puis redémarrez Sublime.
Pour Sublime, tout le reste n'est pas suffisant ou comporte trop de composants supplémentaires. Je suis venu ici après avoir fait la mise à jour vers Sublime 3, et cela fonctionne comme un charme pour Sublime 3 (comme pour Sublime 2, j'avais juste oublié au début).
Bien coffee --watch
a deux défauts majeurs :
- Les nouveaux fichiers créés après l'émission de la commande ne sont pas surveillés.
- Requiert une initiation manuelle, il peut donc y avoir une chance que vous oubliiez de le faire, ce qui ne semble pas plus brillant que d'oublier de compiler avant d'avoir
git commit
il
La solution que j'ai trouvée est un script Bash assez simple qui prend coffee --watch
quelques étapes supplémentaires qui permettront à l'arbre de votre répertoire de travail d'être surveillé depuis la connexion du système, et d'être automatiquement compilé en JavaScript à chaque sauvegarde/changement de fichier. ou la création d'un nouveau fichier :
http://blog.gantrithor.com/post/11609373640/carefree-coffeescript-auto-compiler
Il y a peut-être une façon plus élégante de le faire, mais cette implémentation fonctionne très bien =)
Si vous souhaitez également faire du bundling, buildr propose également l'observation et le bundling : https://github.com/balupton/buildr.npm
Le (Java|Coffee)script et (CSS|Less) (Builder|Bundler|Packer|Minifier|Merger|Checker)