50 votes

Puis-je utiliser coffeescript sous Heroku?

J'ai une application node.js écrite en CoffeeScript.

Je me demande ce qui est nécessaire pour héberger l'application sur Heroku.

Merci

117voto

florian.k Points 1444

Michael Blume est à droite et vous n'avez pas besoin de code supplémentaire pour exécuter CoffeeScript nœud applications sur heroku. Voilà comment j'ai fait:

Ajouter l' coffee-script dans la version actuelle de vos dépendances, en package.json. Cela pourrait ressembler à quelque chose comme ceci:

{
  "name": "My-CoffeeScript-App-on-Heroku",
  "version": "0.0.1",
  "dependencies": {
    "coffee-script": "1.1.2"
  }
}

Ensuite, modifiez l'entrée pour votre nœud de l'application dans l' Procfile d'utiliser du café au lieu de nœud. Pour une application avec une seule entrée web, cela pourrait ressembler à ceci

web: coffee app.coffee

Pour tester si cela fonctionne sur Heroku, vous pouvez l'essayer sur localhost en utilisant le contremaître gem:

$ gem install foreman
$ foreman start
21:13:36 web.1     | started with pid 4711

Ensuite, essayez un push heroku et vous verrez quelque chose comme ceci dans les dépendances de l'installation:

-----> Installing dependencies with npm 1.0.8
       coffee-script@1.1.2 ./node_modules/coffee-script 
       jade@0.15.3 ./node_modules/jade 
       ├── mkdirp@0.0.6
       └── commander@0.1.0

Vous ne savez pas si il y a des problèmes avec cette procédure, mais la méthode décrite ci-dessus semble exagéré pour moi, puisque vous êtes gâcher votre code pour l'environnement d'exécution des trucs.

Espérons que cela aide quelqu'un :)

9voto

MichaelBlume Points 126

Je pouvais bien me débrouiller en n'incluant que coffeescript dans mes dépendances, puis en plaçant 'coffee index.coffee' dans mon fichier Procfile.

Il y a un coût de démarrage à compiler à chaque démarrage de votre serveur, mais cela ne devrait pas poser de problème.

2voto

Dave Donahue Points 56

Je l'ai obtenu en incluant coffee-script dans mon package.json et en ajoutant node_modules / coffee-script / bin à mon chemin Heroku PATH

1voto

slickplaid Points 709

En raison de la mise à jour avec Heroku, il permet désormais d'une npm installation de l' coffee-script de la source. La réponse ci-dessous a été un travail autour de l'avant Heroku entièrement pris en charge node.js. Pour une meilleure solution actuellement, veuillez consulter la meilleure cote de réponse expliquant comment utiliser simplement coffee-script de npm sur Heroku.


Pour être honnête, le meilleur moyen serait de compiler avant de main à l'aide d' coffee -c filename comme Peter suggéré, mais je me demande si vous pourriez avoir une sorte de "précharger' preload.js qui va appeler les scripts à l'aide de coffeescript comme node_module puis de compiler (), le script à utiliser. De cette façon, vous pouvez les utiliser en natif dans le nœud sur heroku sans traiter avec les fichiers supplémentaires dans votre repo.

npm install coffee-script

Puis dans le premier app, l'écrire en javascript et d'appeler l' *.coffee des fichiers à l'aide du café, de la compilation de la fonction:

var coffee = require('coffee-script');
coffee.compile('./server.coffee');
// could be coffee.run(file) instead, not sure

et dans yourapp.coffee essayer

console.log 'It worked!'

Je ne sais pas si ce serait le travail, ou si c'est la bonne syntaxe pour cette fonction. https://github.com/jashkenas/coffee-script/blob/master/lib/coffee-script.js#L24

Si vous vous posez à propos de le faire en ruby, voici ce:

Procédure pas à pas sur la façon d'utiliser coffeescript dans les rails sur Heroku: http://drnicwilliams.com/2010/03/15/using-coffeescript-in-rails-and-even-on-heroku/

Il suggère d'utiliser bistro_car ( https://github.com/jnicklas/bistro_car )

gem install bistro_car
mkdir -p app/scripts

et en l'ajoutant à vos Rails conf/environment.rb

config.gem 'bistro_car'

Si je trouve quelque chose d'autre, ou une autre façon de l'exécuter en mode natif *.coffee applications javascript, je vais mettre à jour cette réponse mais j'espère que cela vous donnera une idée sur comment le faire fonctionner.

Voici encore quelques exemples, mais ils semblent tous être à l'aide de ruby vs node.js ainsi:

http://forrst.com/posts/Doing_CoffeeScript_on_Heroku_a_Ruby_gem-OBk http://www.tangiblecolors.com/first-steps-with-coffeescript-and-how-to-use

Espérons que cela aide un peu.

0voto

Peter Lyons Points 47794

J'ai googlé autour mais ça semble pas clair. Voici le guide heroku, qui ne mentionne pas coffeescript. http://devcenter.heroku.com/articles/node-js

Je pense que vous pouvez simplement exécuter coffee -c . dans le dépôt git de votre application avant de vous engager et pousser vers heroku (le script utilisé dans votre script de déploiement), puis d’utiliser le code .js compilé par ce processus. .

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