Was ist die beste Methode SASS erzeugte CSS in Ihrer Anwendung und Quellcodeverwaltung für die Speicherung?

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

  •  01-07-2019
  •  | 
  •  

Frage

Wenn Sie mit HAML und SASS in Ihrer Rails-Anwendung, werden alle Vorlagen, die Sie in den öffentlichen / Sheet definieren / *. Sass wird in * .css Stylesheets erstellt werden. Von Ihrem Code verwenden Sie stylesheet_link_tag im Asset namentlich zu ziehen, ohne sich um die Verlängerung zu kümmern.

Viele Menschen nicht mögen generierten Codes oder kompilierte Code in der Versionskontrolle zu speichern, und es steht auch ein, dass das öffentliche / Verzeichnis keine Elemente enthalten soll, die Sie nicht an den Browser senden.

Was ist das beste Muster zu folgen, wenn SASS Ressourcen Projekt in Ihrem Rails Auslegen?

War es hilfreich?

Lösung

ich immer Version alle Stylesheets in "public / stylesheets / sass / * sass." Und ein Ausschlussfilter für kompilierte diejenigen ein:

/public/stylesheets/*.css

Andere Tipps

Die Kompass Rahmen empfiehlt in der Öffentlichkeit Ihre sass Sheets unter app / Stylesheets und kompilierten CSS setzen / Sheets / zusammengestellt.

Sie können diese konfigurieren, indem Sie den folgenden Code zu Ihrem environment.rb hinzufügen:

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

Wenn Sie den Kompass Framework verwenden, setzt er diese Konfiguration für Sie, wenn Sie es installieren.

Ehrlich gesagt, ich mag es, meinen kompilierte SASS Sheets in der Versionskontrolle. Sie sind klein, nur ändern, wenn Ihre .sass Dateien zu ändern, und mit ihnen mit dem Rest Ihrer App bereitstellen bedeutet, dass die SASS-Compiler muss nicht immer Produktion Feuer in.

Der andere Vorteil (wenn auch kleinen) ist, dass, wenn Sie nicht das Seiten-Caching verwenden, Ihre Schienen Prozess keinen Schreibzugriff auf Ihr public_html Verzeichnis haben muss. So gibt es eine weniger Art und Weise ein Exploit des Servers kann böse sein.

Ein wenig verwandt, aber es ist eine gute Idee, um Ihre CSS während Ihrer Capistrano Implementierungen zu regenerieren. Dieser Callback Haken genau das tut:

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

Aktualisieren . Diese sollten nicht mehr mit modernen Versionen von Haml / Sass notwendig sein

Wenn ich es einrichten kann, mag ich alle meine Designs in SASS Vorlagen speichern, wenn ich HAML / SASS für ein Projekt wählen, und ich werde application.css und scaffold.css entfernen. Dann werde ich SASS setzen in der Öffentlichkeit / Stylesheets / sass, und fügen Sie /public/stylesheets/*.css .gitignore.

Wenn ich mit einer Kombination von SASS und CSS-basierte Assets arbeiten müssen, ist es ein wenig komplizierter. Die einfachste Art und Weise des Umgangs mit diesem ist ein Ausgangsunterverzeichnis innerhalb des Sheets Verzeichnisses für generierte CSS haben, schließt dann das Unterverzeichnis in .gitignore. Dann in Ihre Ansichten müssen Sie wissen, welche Styling-Typ Sie verwenden (SASS oder CSS) durch, die die öffentlichen / Sheets / foo Sheet oder die Öffentlichkeit / Sheets / Sass-out / foo Sheet auszuwählen.

Wenn Sie die zweite Strecke gehen, bauen einen Helfer zu abstrahieren Sass-out-Unterverzeichnis.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top