Quelles sont mes restrictions si je veux coder node.js et utiliser CoffeeScript? Puis-je faire quelque chose que je pourrais faire dans JS?
Oui, CoffeeScript est simplement compilé en JS pur, le rendant totalement compatible avec node.js.
Pour exécuter CoffeeScripts sur le noeud, vous pouvez:
coffee -c example.coffee
à compiler, suivi de node example.js
pour exécuter le JS compilé.coffee example.coffee
Vous pouvez non seulement exécuter des fichiers CoffeeScript directement dans Node avec
coffee source.coffee
vous pouvez également les demander comme s'il s'agissait de fichiers JavaScript. Par exemple, si vous avez lib.coffee
dans un répertoire, vous pouvez écrire
require './lib'
depuis un autre fichier CoffeeScript du même répertoire. (Pour le faire depuis un fichier JavaScript, vous devrez ajouter require 'coffee-script'
en haut.) Ainsi, vous n'avez jamais à faire de compilation explicitement sous Node, à moins que vous ne conditionniez votre projet pour le déploiement avec un outil tel que npm.
Une mise en garde: dans les traces de pile, les numéros de ligne que vous verrez se rapportent au code JavaScript compilé, même lorsque vous exécutez directement CoffeeScript (afin que vous n'ayez pas accès au code JavaScript). Beaucoup de gens essaient de résoudre ce problème, mais c'est un gros défi.
Oui, voici une réponse différente et plus simple. Vous devez faire 2 étapes.
npm install coffee-script --save # I assume you would have done this already
.
Ayez require('coffee-script')
comme première ligne exécutée dans server.js
Sur app.js
. (PDATE: depuis coffee script 1.7, vous devrez faire require('coffee-script/register'))
Cela enregistre le compilateur Coffeescript dans votre application et vous pouvez commencer à traiter les fichiers café et les fichiers js de la même manière (ce qui signifie que vous pouvez également exiger des fichiers café!).
Cette méthode nécessite que vous n'écriviez qu'un seul fichier (app.js) en javascript dans Vanilla. Mais l'avantage est que votre environnement de déploiement n'a pas besoin de coffeescript comme dépendance initiale installée globalement pour exécuter votre application. Dans ce cas, il vous suffirait de copier votre code et npm install
Installerait tous les packages nécessaires. Et npm start
Vous rendrait opérationnel
Tutoriels vidéo
J'ai vu une série de tutoriels de Pedro Teixeira. Il a construit toute une série de tutoriels sur les nœuds. Il inclut une référence à nodemon pour la détection automatique, la compilation et le rechargement de fichiers .coffee édités.
Vous pouvez utiliser Jitter , une compilation continue simple pour CoffeeScript.
npm install -g jitter
Supposons que vous ayez plusieurs fichiers * .coffee dans le répertoire coffee et que vous souhaitiez les compiler dans le répertoire js. Puis lancez:
jitter coffee js
La gigue s'exécute en arrière-plan jusqu'à ce que vous la terminiez (Ctrl + C), surveillant les nouveaux changements.
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
Essaye ça
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
Alors fais:
chmod +x demo.coffee
./demo.coffee
CoffeeScript a une intégration assez solide avec noeud. Une fois que le module 'coffee-script' est chargé, soit par require('coffee-script')
, soit par le she-bang que j'ai présenté ci-dessus, soit en exécutant coffee demo.coffee
... une fois chargé, vous pouvez utiliser require('./foo')
pour importer foo.coffee
Si vous voulez compiler automatiquement tous vos fichiers coffeescript (dans un répertoire, y compris subdir) à chaque fois qu'ils changent en javascript, utilisez simplement la commande suivante:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc