2012-05-17 13 views
7

Sto pianificando di usare sass/compass in un grande progetto. è possibile che alcuni membri del team possano usare semplici css mentre altri possono ancora scrivere scss?posso convertire css in scss e scss in css parallelamente?

quello che voglio esattamente sapere è il modo in cui la bussola/sass ascolta scss e converte css nello stesso momento in cui può anche ascoltare il file css e riconvertire eventuali modifiche nel file scss?

risposta

5

Direi di no - o almeno, non facilmente. SCSS è completamente compatibile con i normali CSS e si compila nei CSS, ma non viceversa, quindi il file sorgente deve essere CSS o SCSS.

Tuttavia, dipende dal progetto. Supponiamo che due membri lavorino su due parti completamente separate dei progetti. Possono usare file separati e scegliere di lavorare in SCSS o CSS. I loro file possono quindi essere inclusi in un file SCSS principale o essere uniti insieme a uno script di compilazione o essere mantenuti separati in produzione, anche. Non sarebbe un problema.

Tuttavia, preferirei che tutti i membri del team lavorassero in modo simile, in modo che si possano coprire a vicenda quando c'è un problema.

+1

Se stai prendendo un progetto tutto CSS e stai iniziando a usare file SCSS (SASS), allora la risposta di @FDisk di seguito è il modo per ottenere rapidamente tutti i file CSS in file SCSS: http : //stackoverflow.com/a/13759406/5716 – program247365

20

È possibile, ma non è l'ideale. La cosa migliore è quello di crack aprire il terminale ed eseguire

sass-convert --from css --to scss 

nella directory in cui si trovano gli stili e quindi refactoring da lì. È un dolore e non una vera "conversione". Prova a nidificare correttamente, e di solito lo fa bene, ma se non stai rifattorizzando il codice e usi elementi come mix-in, estensioni e variabili, questo tipo di sconfigge lo scopo di usare SASS per cominciare.

Per automatizzare questo, è possibile utilizzare qualcosa come Guard per guardare i file css per le modifiche. Dovrai assicurarti di non guardare anche il tuo stile principale (quello su cui si sta compilando), poiché questo ti metterà in un ciclo senza fine di conversione!

+0

Non ha funzionato per me dal momento che sembra durare ore e quando ctrl + C dice che ho interrotto. Per me solo @ la risposta di FDisk con una directory specificata ha funzionato. – leymannx

3

È possibile controllare il seguente sito web che forniscono questo tipo di servizio:

https://css2sass.herokuapp.com

______________| CSS | SASS | SCSS | 
| CSS   | - | X | X | 
| Minified CSS | X | X | X | 
| SASS   | X | - | X | 
| SCSS   | X | X | - | 
14

eseguire questo comando. Questo eseguirà la scansione della directory definita per i file css e li convertirà in file scss.

sass-convert -R my_css_dir --from css --to scss 

Poi utilizzare un comando per l'installazione di bussola

gem install compass 

quindi eseguire questo comando

compass watch 

Ciò guardare i file SCSS caso di cambio e convertirli in file CSS automaticamente.

+2

Questo è esattamente ciò di cui avevo bisogno. Il 'sass-convert' arriva quando si 'gemma installare la bussola'. Il modo più veloce per farlo localmente. – program247365

+0

perché non dovresti semplicemente fare 'sass --watch'? – Mikey

+0

@Mikey sass non è una bussola – FDisk

2

Ho scritto uno strumento per questo :) http://sebastianpontow.de/css2compass

Ma questo è in realtà solo uno strumento per iniziare, si dovrebbe sempre controllare l'output e riscrivere le parti critiche di esso - l'uscita potrebbe non essere il migliore modo di scrivere il codice scss

+0

Usi sass-convert sotto? Questo può essere ottenuto eseguendo qualche comando nel terminale? Ho bisogno di estrarre variabili da css come fai sul tuo sito; provato sass-convert, ma senza fortuna con quello. – kamilkp

+0

No, sry. Ho scritto una sceneggiatura per analizzare il css. Mai provato il comando sass-tools ... – pontoffeltier

+0

@pontoffeltier Esiste uno strumento che può aiutarti a trasformare il tuo codice css in codice sass/compass? – Moon