¿Cuál es el mejor método para almacenar SASS CSS generado en su aplicación y de control de código fuente?

StackOverflow https://stackoverflow.com/questions/86018

  •  01-07-2019
  •  | 
  •  

Pregunta

Si usted está usando HAML y SASS en su aplicación Rails, ninguna de las plantillas que se definen en público/stylesheet/*.sass serán compilados en *.hojas de estilo css.A partir de su código, use stylesheet_link_tag para tirar en el activo por su nombre sin tener que preocuparse acerca de la extensión.

Muchas personas rechazan el almacenamiento de código generado o el código compilado en el control de la versión, y también es lógico que el público/ directorio no debe contener elementos que no envía al navegador.

¿Cuál es la mejor pauta a seguir al diseñar el SASS de los recursos en su proyecto Rails?

¿Fue útil?

Solución

Yo siempre la versión de todas las hojas de estilo en "public/stylesheets/sass/*.sass" y establecer un filtro para excluir los compilados:

/public/stylesheets/*.css

Otros consejos

El brújula marco recomienda poner su sass hojas de estilo dentro de app/hojas de estilo y su compilado de css en public/stylesheets/compilado.

Usted puede configurar añadiendo el siguiente código a su entorno.rb:

Sass::Plugin.options[:template_location] = {
  "#{RAILS_ROOT}/app/stylesheets" => "#{RAILS_ROOT}/public/stylesheets/compiled"
}

Si utiliza la brújula marco, se establece esta configuración para usted cuando usted lo instala.

Honestamente, me gusta tener mi compilado SASS hojas de estilo en el control de versiones.Son pequeñas, solo cambia cuando su .sass los cambios de los archivos, y tener a implementar con el resto de la aplicación significa que el SASS compilador no necesita siempre a fuego en la producción.

La otra ventaja (aunque pequeño) es que si usted no está utilizando la página de la caché, los rieles proceso no necesita tener acceso de escritura a su public_html directorio.Así que no hay una manera menos un exploit de su servidor puede estar mal.

Algo relacionado, pero es una buena idea para regenerar tu CSS durante su capistrano implementaciones.Esta devolución de llamada gancho hace que:

after "deploy:update_code" do
  rails_env = fetch(:rails_env, "production")
  run "#{release_path}/script/runner -e #{rails_env} 'Sass::Plugin.update_stylesheets'"
end

Actualización:Esto ya no debería ser necesario con las versiones más modernas de Haml/Sass.

Si puedo controlarlo, me gusta para almacenar todos mis estilos en SASS plantillas a la hora de elegir HAML/SASS para un proyecto, y me voy a quitar de la aplicación.css y el cadalso.css.Entonces voy a poner SASS en public/stylesheets/sass, y añadir /public/stylesheets/*.css .gitignore.

Si tengo que trabajar con una combinación de SASS y CSS basado en los activos, es un poco más complicado.La forma más sencilla de manejar esto es tener una salida subdirectorio para generar CSS dentro de las hojas de estilo directorio, luego de excluir a ese subdirectorio .gitignore.Entonces, en su opinión usted tiene que saber qué tipo de estilo que usted está utilizando (SASS o CSS) en virtud de tener que seleccionar el public/stylesheets/foo hoja de estilo o el public/stylesheets/sass-out/foo hoja de estilos.

Si tienes que ir a la segunda ruta, construir un ayudante para abstraen el sass-out subdirectorio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top