build - riot - ¿Sistema de compilación que integra coffeescript, LESS(etc) desarrollo web?
riot js (6)
Para los proyectos de hobby estoy trabajando en este momento, incluidos los idiomas que luego se transcriben, como Coffeescript a Javascript, MENOS a CSS, etc. He estado organizando y manteniendo el código a través de scripts de shell.
Esto es perfectamente factible, pero a veces creo que un sistema de construcción dedicado sería más adecuado. Las tareas típicas implicarían transpilar los archivos, eliminar versiones no miniaturizadas, buscar bibliotecas externas más nuevas, etc.
¿Hay algún sistema de compilación que combine todas estas funciones?
EDITAR:
Muchas gracias por las respuestas. La suerte puede tenerlo, encontré esta herramienta hoy y decidí probarla : http://brunch.io/ Aún así, he aceptado la respuesta más cerca de lo que tenía en mente.
Antes de Brunch, también estaba considerando SCons, ya que es lo suficientemente simple para proyectos web y podría aprovechar el conocimiento con otros proyectos (en C, python, Java, etc.)
La práctica más común para el proyecto CoffeeScript es utilizar el propio pastel de CoffeeScript. Coloca un Cakefile en la raíz de su repositorio y crea tareas que realizan sus pasos de compilación. Puede llamar a less.js y a café para cumplir directamente con sus tareas.
Utilizo un par de herramientas: browserify y uglifyJS en mis tareas de CakeFile para crear un paquete completo para el navegador. Es un archivo Cake bastante complicado, pero busca la tarea de creación para tener una idea de cómo puedes utilizar estas herramientas juntas.
Tenga en cuenta que ese ejemplo no incluye css en el paquete final, que es solo javascript. Aquí hay un ejemplo de un Cakefile que he escrito que inserta javascript directamente en el html . Usted podría hacer lo mismo con CSS. Lo bueno de Cakefile es que mantiene los activos separados durante el desarrollo y luego los envuelve juntos solo cuando estás listo para implementar. Dicho esto, si puede salirse con la suya manteniéndolos separados, es preferible tanto para el almacenamiento en caché como para el desarrollo. La única razón por la que los envuelvo en este ejemplo es porque el paquete final debe ejecutarse en otro entorno sin acceso a sitios cruzados.
Personalmente he estado usando una combinación de RubyGems para esta tarea, principalmente:
- Guardia
- Piñones
- engranajes de protección
Guard es una joya que escuchará los cambios de archivos y luego podrá hacer ''algo'' con esos archivos modificados.
Piñones se utiliza en Ruby on Rails para su cartera de activos. En términos simples, traduce / convierte CoffeeScript, LESS, SASS, JS Templates, casi cualquier cosa que necesite conversión y tiene un RubyGem para la conversión.
La gema guard-piñones es el pegamento entre los dos, ''invocará'' piñones para construir mis archivos cada vez que cambie uno de los archivos fuente.
Si está familiarizado con Ruby, RubyGems y Bundler, puede echar un vistazo a una Plantilla de proyecto que creé usando estos tres RubyGems. Definitivamente no es perfecto, pero funciona para mí en este momento y podría ayudarlo a comenzar.
Si está desarrollando proyectos para un marco web como Rails, entonces debe configurar el marco web para compilar CoffeeScript y LESS a medida que se publican.
Si está desarrollando sitios "estáticos" sin back-end, le sugiero que:
- Use una herramienta como LiveReload (solo Mac), o
- Use un generador de sitios estáticos como Middleman
Uso Mindscape Workbench con Visual Studio 2010, es fantástico.
Desde el sitio:
Súper fácil de usar
Instala la extensión y listo. No es necesario configurar eventos de compilación posteriores o generadores de resultados. Guarde los archivos y generarán los archivos CSS o JS asociados según sea necesario. ¡Fácil!
Resaltado de sintaxis
Al extender Visual Studio, Web Workbench le brindará resaltado de sintaxis de Sass, Less y Coffee Script. Una excelente forma de ayudarlo a aprender la sintaxis y comprender mejor el código que está escribiendo.
Intellisense
Visual Studio ofrece fantástica inteligencia para los desarrolladores y hemos trabajado duro para llevar intellisense a los archivos Sass y Less cuando estás editando.
Gratis para usar
Le invitamos a utilizar este software de forma gratuita y, si lo desea, ¡puede pasar a la edición Pro por $ 39!
Usa solo los bits que quieras
No tiene que usar los tres idiomas compatibles. Si solo quieres Coffee Script, o solo quieres usar Less, entonces por supuesto simplemente usa esas partes. Todo está en una sola instalación, pero no hay confianza en sus aplicaciones.
Otra opción que debes considerar es CoffeeToaster:
http://github.com/serpentem/coffee-toaster
Viene con un sistema de empaquetado que cuando esté habilitado usará la jerarquía de su carpeta como declaraciones de espacios de nombres para sus clases si así lo desea, entonces puede extender clases desde múltiples archivos, importar y sonar, por ejemplo:
#<< another/package/myclass
class SomeClass extends another.package.MyClass
La configuración de compilación es extremadamente minimalista y simple, hecha para ser obvia:
# => SRC FOLDER
toast ''src_folder''
# => VENDORS (optional)
# vendors: [''vendors/x.js'', ''vendors/y.js'', ... ]
# => OPTIONS (optional, default values listed)
# bare: false
# packaging: true
# expose: ''''
# minify: false
# => HTTPFOLDER (optional), RELEASE / DEBUG (required)
httpfolder: ''js''
release: ''www/js/app.js''
debug: ''www/js/app-debug.js''
También hay una opción de depuración que compila los archivos individualmente para facilitar los procesos de depuración y otras funciones útiles.
Echa un vistazo, tal vez te guste.
Opciones que debes considerar:
editar : 6 meses después, construí mi propia herramienta para ampliar las capacidades de Cake: http://ricardobeat.github.com/cake-flour