Node.js écrit des applications basées sur JavaScript, qui est mon principal langage de développement. CoffeeScript est un langage de programmation compilé en JavaScript. En fait, le langage CoffeeScript est également très flexible à utiliser en raison de sa traduction individuelle en JavaScript. Il existe de nombreuses façons de l'introduire dans le projet. Ici, je vais résumer les méthodes d'utilisation de coffeescript pour écrire des projets node.js.
Utilisez directement la commande coffee pour exécuter des projets purement coffeescript
D'une manière générale, lorsque vous mentionnez coffeescript, vous le considérerez naturellement comme le petit frère de javascript, et il ne pourra jamais échapper à l'ombre de js. En fait, vous pouvez le considérer comme un langage indépendant. Nous savons tous qu'après avoir installé le package coffee-script globalement sur la plate-forme de nœuds, vous pouvez accéder à l'interface interactive coffeescript via la commande coffee. Vous pouvez également l'appeler repl. Si votre projet est entièrement écrit en coffee, c'est simple. Utilisez simplement la commande coffee directement sur votre script d'entrée. Par exemple, si votre script d'entrée s'appelle "app.coffee", alors exécutez :
Cette méthode doit être considérée comme la manière la plus "officielle" d'utiliser coffeescript. Simple et direct ! De plus, une fois que vous utilisez un fichier coffee comme point d’entrée du projet, l’ensemble du projet sera compatible à la fois avec coffee et js. Vous pouvez exiger n'importe quel fichier et module js ou coffee dans le projet, et vous pouvez même exiger des fichiers coffee dans les fichiers js du projet. Et lorsque vous indiquez s'il s'agit d'un fichier coffee ou js, aucune extension n'est nécessaire, tant que la partie précédente du nom n'est pas en conflit.
Le plus gros problème avec cette méthode est que si elle est utilisée comme module, elle ne peut être utilisée que pour des projets coffee ; si elle est utilisée comme application, coffee-script doit être installé dans l'environnement en cours d'exécution. Après tout, coffeescript est toujours un langage de niche, et il est dommage qu'il ait perdu des utilisateurs js lorsqu'il était utilisé comme module.
Un autre défaut possible est la performance. Après tout, il n'y a qu'un moteur js dans le nœud. Le code coffee doit être compilé en js avant d'être exécuté. Ce processus prend un peu de temps, bien que la vitesse de compilation de coffee vers js soit en fait assez. vite. Mais cela ne devrait pas être un gros problème. De manière générale, require est écrit en haut du fichier, c'est-à-dire que lorsque l'application démarre, elle aura besoin de tous les fichiers requis à la fois. Lors de la demande, coffee sera compilé en js. .S'il est placé dans le moteur js, le temps consommé dans la compilation sera concentré au démarrage de l'application, et il n'y aura pratiquement pas besoin de nouveau café pendant l'exécution. Le scénario d'utilisation le plus courant du nœud est celui du serveur Web, ce qui ne pose aucun problème.
Coffescript de référence dans le projet javascript
coffee-script dans npm peut être installé globalement ou en tant que module du projet. Alors, quelle est l’importance de coffee-script en tant que module du projet ? En fait, un compilateur coffeescript est ajouté au projet, et le projet peut compiler des fichiers coffee à tout moment pendant l'exécution.
Vous voulez absolument référencer le fichier café avec désinvolture comme dans la première méthode. Pas de problème, inscrivez-vous simplement. Si le fichier d'entrée de votre projet est app.js, alors il vous suffit d'ajouter cette phrase au début du fichier :
Cette méthode est essentiellement la même que la première méthode, sauf que coffee-script n'est pas installé globalement, votre module peut donc exister indépendamment. En tant qu'application, coffee-script n'a pas besoin d'être installé dans l'environnement.
Inconvénients, je pense que le plus gros problème est qu'il est facile de gâcher le code, parfois js, parfois café, bien sûr la première méthode peut aussi être comme ça, mais si vous utilisez du café pour le démarrer, il devrait y avoir pas de js écrit dedans... Bref, je pense qu'il vaut mieux unifier les langagespour un projet (malheureusement, j'utilise principalement cette méthode. Dans un projet qui a déjà écrit la structure générale en js, je je veux juste utiliser du café...)
Le problème de performances est le même que celui de la première méthode, je n'en dirai donc pas plus.
La voie orthodoxe - compilation
Quand je parle de compilation, j’ai l’impression de revenir à l’ère du C ou du Java sérieux. En effet, en tant que langage compilé, compiler puis exécuter est la bonne voie à suivre. c a gcc, java a javac et cofee a coffee -c.
Il est très simple de compiler un fichier coffee. Par exemple, si vous souhaitez éditer le fichier app.coffee, exécutez simplement dans le répertoire courant du fichier :
Cependant, pour les grands projets, il n'est pas bon de regrouper les fichiers sources et les fichiers de résultats de compilation. Spécifiez simplement un répertoire de sortie :
Notez que toutes les options se situent entre le café et le chemin du fichier. Les derniers arguments sont les paramètres transmis lors de l'exécution du fichier cible en tant que script. En d’autres termes, toutes les options peuvent être placées entre le café et le nom du fichier. L'option -c est indépendante et n'a pas ses propres paramètres. Cela signifie seulement que le fichier fourni à la fin de l'instruction est à compiler, il peut donc s'écrire comme ceci :
offee fournit un outil de construction automatisé, cake, qui ressemble à make in the c world. Mais comme indiqué sur le site officiel, Cake est un système de construction très simple. En fait, la fonction de cake est d'exécuter un script nommé cakefile, et le script cakefile est écrit en coffeescript. Ce script ne fournit que des fonctions intégrées très limitées, telles que la tâche, qui sont utilisées pour déclarer une instruction et ses fonctions de description et d'exécution correspondantes. L'autre chose est d'écrire un projet de nœud pur. Pour terminer la compilation, vous devez soit utiliser le module fs de node pour afficher la chaîne compilée par le module coffee, soit utiliser le module child_process pour exécuter les instructions du shell. En fait, la cible de la construction du gâteau ne doit pas nécessairement être le café, car il exécute en fait un script de nœud et peut gérer toutes les tâches automatisées.
De plus, il existe de meilleurs outils de construction automatisés tiers qui peuvent également compléter la compilation automatique du café, comme le célèbre Grunt, le fekit domestique, etc.
Cette méthode de compilation orthodoxe est peut-être la plus fiable et devrait être appréciée par les programmeurs expérimentés. Cela permet à l’équipe de former un modèle de développement fixe. De plus, le projet compilé devient un pur projet js, et aucune dépendance supplémentaire n'est requise, qu'il soit exécuté directement en tant qu'application ou référencé par d'autres projets en tant que module. Et il n'est pas nécessaire de compiler au moment de l'exécution, il n'y a donc aucun problème de performances causé par la compilation.
L'inconvénient est que c'est trop gênant. Si vous faites un petit projet, il faudra une demi-journée rien que pour créer le cakefile ou configurer grognement, ce qui n'en vaut pas la peine.
D'après le résumé ci-dessus, il est en fait très simple d'utiliser coffeescript pour écrire des projets node.js. Ensuite, j'espère que tout le monde se dépêchera et utilisera coffee. En même temps, j’espère que le contenu ci-dessus sera utile à tout le monde.