SASS.js var mı? LESS.js gibi bir şey mi?


112

Daha önce LESS.js kullandım . Kullanımı kolaydır.

<link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript"></script>

SASS.js'yi gördüm . Nasıl benzer şekilde kullanabilirim? Hemen HTML'de kullanılmak üzere bir SASS dosyasını ayrıştırmak. Görünüşe göre SASS.js daha çok Node.js ile kullanım için mi?

var sass = require('sass')
sass.render('... string of sass ...')
// => '... string of css ...'

sass.collect('... string of sass ...')
// => { selectors: [...], variables: { ... }, mixins: { ... }}

6
Üretim için kötülüğün köküdür, gelişiminiz için sass watch.
Hauleth

3
Bu fikir hoşuma gitti çünkü "sass watch" ile ilgili sorun bazen sayfayı yanlışlıkla "sass watch" çalıştırılmadan önce test ediyor olman. Less.js ile sayfayı yükleyebilirsiniz ve sayfayı gördüğünüzde css'nin derlendiğinden emin olun. Elbette yalnızca geliştirme ortamında.
Maya Kathrine Andersen

SassMeister'a göz atın: sassmeister.com - ücretsiz çevrimiçi SASS derleyicisi
Dan

1
Gerçekten, sass.js var
LukyVj

@Hauleth sass watch (daha az izlemek gibi) bazen bir seçenek değildir. Özellikle kaynak dosyalarınız üçüncü taraf bir yapı / bağımlılık tarafından işlendiğinde ve yalnızca web uygulamanızı paketlerken veya dağıtırken ve yavaş dağıtırken tam kaynak dosyalara sahip olabilirsiniz. (yani ... java web uygulamaları)
Zardoz89

Yanıtlar:


42

Sass veya scss için resmi olarak onaylanmış bir JavaScript uygulaması yoktur. Devam etmekte olan birkaç uygulama var, ancak şu anda kullanmanızı önerebileceğim hiçbiri yok.

Ancak, lütfen birkaç noktaya dikkat edin:

  1. Hepsi için bir kez yapabilecekken neden tüm kullanıcıların stil sayfalarınızı derlemesini sağlamalısınız?
  2. JavaScript devre dışı bırakılırsa siteniz nasıl görünürdü.
  3. Gelecekte bir sunucu tarafı uygulamasına geçmeye karar verirseniz, tüm şablonlarınız buna göre değiştirilmelidir.

Başlamak için biraz daha kurulum olsa da, biz (sass çekirdek ekibi) sunucu tarafı derlemenin en iyi uzun vadeli yaklaşım olduğunu düşünüyoruz. Benzer şekilde, daha az geliştirici, üretim stil sayfaları için sunucu tarafı derlemeyi tercih eder.


157
benim kullanım durumum: rails projesine yerleştirilecek html + css şablonu geliştirmek. localhost geliştirme amaçları için sass.js'ye sahip olmak güzel olurdu, böylece sunucu işleri ile uğraşmak zorunda kalmayayım.
Josef Richter

93
İstemci tarafı derlemenin yararlı olduğu birçok durum vardır. Örneğin, kullanıcıların sayfalarının görünümüyle oynamasına izin vermek ve yalnızca seçtikleri sonucu sunucuya geri kaydetmek istiyorsanız.
montrealmike

26
Chriseppstein'e% 100 katılıyorum (kullanıcıların stil sayfalarını neden derlemesini istiyorsunuz), burada ele alınmayan, açık ve basit: geliştirme. Dağıtılmış tüm js kodumun css'imde olduğu gibi küçültülmesini ve sıkıştırılmasını istiyorum. Ancak geliştirme sırasında, "derlenmiş" sürüm yerine koda erişime yardımcı olur . Tüm ön uç mühendisleri adına konuştuğumdan emin değilim, ancak çoğumuzun geliştirme aşamasında gerekli olan tek araç olarak tarayıcımızı ve bir düzenleyiciyi kullandığımızı söyleyebilirim. Geliştirme sırasında sass / scss "derlemek" zorunda kalmak istemiyorum. Dağıtım / CI / Üretim farklı bir konu
Graza

15
Yazarlar tarafına bir şeyler atmak; SASS kullanmayı düşünmek istiyorum ama Ruby kullanmıyorum ve kullanmak istemiyorum; bu nedenle bir istemci tarafı çözümü hiçbirine tercih edilmez. Ruby'de yazmak, kullanımını yalnızca Ruby kullanıcılarıyla sınırlar; JS'de yazılmışsa istemcilerde veya sunucuda (düğüm, klasik asp, asp.net ve muhtemelen diğerleri ile) kullanılabilirdi.
Dan

27
bir JavaScript uygulaması, Ruby'ye bağımlı olmak zorunda kalmadan düğüm / gergedan vb. ile sunucu tarafında da kullanılabilir
Sam Hasler

29

Visionmeda / sass.js artık kullanılamadığından ve scss-js 2 yıldır güncellenmediğinden, sizi sass.js ile ilgilenebilirim . Emscripten kullanılarak JavaScript'e derlenen C ++ kitaplık libsass'ı ( node-sass tarafından da kullanılır ). Html'de bağlantılı veya satır içi olarak yazılmış scss stil sayfalarını derlemek için bir uygulama sass.link.js adresinde bulunabilir .

Etkileşimli oyun alanını kullanarak sass.js'yi deneyin


3
Şimdi Ruby için bir C ++ derleyicisine ihtiyacımız var ve kod tabanını birleştirebiliriz.
joeytwiddle

1
sass.js, less.js 143kb boyutuna (gzipli) kıyasla 670KB (gzipli) boyutunda oldukça büyük görünüyor. ayrıca sass.js'de, daha az.js. ile karşılaştırıldığında css değişkenlerini dinamik olarak ayarlamak için herhangi bir seçenek görmüyorum. Theamable siteniz olduğunda bu gerçekten kullanışlıdır
Anirudha



5

Kesinlikle tüm kullanıcılarınızın stil sayfalarını derlemesini sağlamamalısınız, ancak sunucu üzerinde bir javascript uygulaması da çalışabilir. Ayrıca bir node.js uygulamasında kullanmak için bir javascript sass uygulaması arıyorum. Bu sass ekibinin düşündüğü bir şey mi?


3
SASS.js'yi üretim için kullanmak istemiyorum! Sadece SASS için Ruby kurmaya gerek kalmadan bir geliştirme makinesini konuşlandırabilmek istiyorum. Geliştirme tamamlandıktan sonra SASS'yi herhangi bir makinede işleyebilir ve sonuç CSS'sini üretim sunucusuna taşıyabilirim.
A. Matías Quezada

1
Node projelerinde sass yerine Stylus kullanmaya bakmanızı öneririm.
airtonix

3

GitHub , scss-js üzerinde bir girişim var . Ancak, eksik ve beş aydır herhangi bir taahhüt almamış.


1
Bu bir düğüm js modülüne benziyor mu? Asıl soru istemci tarafı uygulama ile ilgiliydi, değil mi?
jayarjo

1

Neden LibSass

Sass'ın resmi olarak onaylanmış bir JavaScript uygulaması olmasa da, Sass motorunun LibSass olarak bilinen resmi bir C / C ++ portu vardır . LibSass resmi bir uygulama olduğundan, başlık altında LibSass kullanan bir JavaScript kitaplığı seçmek en iyisidir.


Sunucuda

Node.js ortamında çalışan JavaScript için, Node-sass vardır .

Başlık altında Node-sass, LibSass'ın kendisini kullanır.


Tarayıcıda

Tarayıcıda çalışan JavaScript için Sass.js var .

Başlık altında, Sass.js, Emscripten ile JavaScript'e dönüştürülmüş bir LibSass sürümü (bunu yazdığım noktada v3.3.6) kullanıyor .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.