Sass หรือเข็มทิศไม่มีทับทิม?


102

มีวิธีใช้ Sass หรือ Compass หรืออะไรทำนองนั้นโดยไม่มี Ruby หรือไม่?

ฉันมองหาทั่ว Google และไซต์นี้ แต่ไม่พบอะไรเลยขอความช่วยเหลือใด ๆ ขอบคุณ



3
นี่เป็นคำถามจริงหรือ? ฉันหมายความว่ามันไม่ชัดเจนว่าคุณหมายถึงอะไร มีพรีโปรเซสเซอร์ CSS อื่น ๆ ที่ไม่ใช้ Ruby หรือไม่? ใช่. มีวิธีรวบรวม Sass โดยไม่ใช้ Ruby หรือไม่? ขึ้นอยู่กับ เราต้องการภูมิหลังเพิ่มเติม
Jamund Ferguson

แต่คุณไม่ได้ระบุภาษาที่คุณต้องการให้ตัววิเคราะห์เขียนเป็นภาษา
Alejandro García Iglesias

1
มีวิธีดาวน์โหลดเวอร์ชันที่รวบรวมไว้ล่วงหน้าหรือไม่?
William

คำตอบ:


53

Sass เดิมเขียนขึ้นสำหรับ Ruby แต่ตอนนี้พวกเขาได้สร้างlibSassซึ่งเป็นC/C++พอร์ตของเอ็นจิ้น Sass ซึ่งทำให้ง่ายต่อการรวมเอ็นจิ้นเข้ากับ IDE หรือภาษาอื่น ณ จุดนี้คุณสามารถใช้ Sass engine ใน Ruby, Node.js , Python , PHP , Java , .NETและอื่น ๆ สำหรับข้อมูลเพิ่มเติมโปรดเยี่ยมชมlibSass นอกจากนี้ IDE ของคุณอาจมีปลั๊กอินที่รองรับ Sass โดยไม่จำเป็นต้องใช้ทับทิมโดยใช้ libSass

คำตอบเดิมด้านล่างนี้อาจใช้ได้กับสถานการณ์ของคุณหรือไม่ก็ได้ (ขึ้นอยู่กับว่าภาษาของคุณรองรับ libSass หรือไม่) ฉันตัดสินใจที่จะทิ้งมันไว้ด้วยเหตุผลด้านการเก็บถาวร


Sass (ต้องใช้ Ruby)

Sass เขียนด้วย Ruby ดังนั้นคุณจะต้องติดตั้ง Ruby ด้วย นำมาจากเว็บไซต์ของ sass

เข็มทิศ (ต้องใช้ Ruby เนื่องจากขึ้นอยู่กับ SASS)

เข็มทิศเป็นเฟรมเวิร์กการเขียน CSS แบบโอเพนซอร์สซึ่งใช้ภาษาสไตล์ชีท Sass เพื่อทำให้การเขียนสไตล์ชีตมีประสิทธิภาพและง่ายดาย นำมาจากเว็บไซต์ของเข็มทิศ

น้อยกว่า (เขียนด้วย js ต้องใช้ node.js หรือ less.js ที่รวมอยู่ในเพจ)

LESS ขยาย CSS ด้วยพฤติกรรมแบบไดนามิกเช่นตัวแปรมิกซ์อินการดำเนินการและฟังก์ชัน LESS ทำงานบนทั้งฝั่งไคลเอ็นต์ (Chrome, Safari, Firefox) และฝั่งเซิร์ฟเวอร์โดยมี Node.js และ Rhino นำมาจากไซต์ของ Less

นี่คือโปรเซสเซอร์หลักที่ฉันรู้จัก คุณสามารถเขียน parser / port ของคุณเองสำหรับภาษาอื่นที่คุณเลือก

กล่าวอีกนัยหนึ่งคุณไม่สามารถใช้ sass / เข็มทิศได้โดยไม่ต้องมี Ruby เพราะตัวโปรแกรม (sass & compass) นั้นเขียนด้วย Ruby ดังนั้นคุณจะต้องใช้มันอย่างแน่นอนเพื่อเรียกใช้งาน


นี่เป็นความแม่นยำทางเทคนิค แต่ไม่ตรงประเด็นเนื่องจากปลั๊กอินต่างๆสามารถดูแลคุณได้ ตัวอย่างเช่นใน Visual Studio มีปลั๊กอิน Mindscape Workbench ที่มีสภาพแวดล้อมทับทิมในตัวซึ่งคุณไม่ต้องกังวล มันจะไม่รวมเข็มทิศสำหรับคุณอย่างไรก็ตามมันเป็นสิ่งที่แย่กว่า
George Mauer

@TroyCosentino หรือ Stylus
Alejandro García Iglesias

ไม่ฉันยังไม่ได้ลองค้นหาคอมไพเลอร์ที่คล้ายกันในภาษาอื่น คุณควรจะสามารถเขียนคอมไพล์ตั้งแต่เริ่มต้นด้วยภาษาที่เหมาะสม แต่อาจต้องใช้เวลามากที่สุด ก่อนอื่นคุณจะต้องสามารถแยกวิเคราะห์ css (และตรวจหาข้อผิดพลาดใด ๆ ในไวยากรณ์ css) จากนั้นคุณจะต้อง "คอมไพล์" (ซึ่งส่วนใหญ่เป็นการจัดรูปแบบใหม่ - เช่นโค้ด css เป็นหนึ่งบรรทัด) css หลังจากนั้นคุณอาจต้องการเพิ่มหลาย css ด้วยการสืบทอด หากคุณรู้สึกว่ามีเวลาคุณสามารถลองทำและแบ่งปันผลลัพธ์กับเราได้ :)
tftd

1
LESS ยังเป็นไปได้ใน. NET โดยใช้แพ็คเกจ dotLESS NuGet
David Boike

27

เป็นเรื่องจริงที่คำถามยังไม่ชัดเจนเพียงพอ แต่ฉันจะพยายามแก้ไขปัญหาบางอย่าง มีมี CSS ก่อนประมวลผลอื่น ๆ ที่ไม่ต้องพึ่งพาทับทิม (สองมาอยู่ในใจของฉันตอนนี้มีน้อยซึ่งผมเคยใช้และชอบ แต่ไม่ได้ประสิทธิภาพเท่า Sass และสไตลัสที่ฉันไม่ได้ใช้ ทั้งสองใช้ JavaScript) แต่เมื่อคุณถามเกี่ยวกับ Sass + Compass โดยเฉพาะและในขณะที่ฉันยังคงมองหาคำตอบเดียวกันฉันจะพูดถึงเรื่องนั้น

@JamundFerguson กล่าวว่า:

มีวิธีรวบรวม Sass โดยไม่ใช้ Ruby หรือไม่? ขึ้นอยู่กับ

มี

Sass เป็นภาษาก่อนการประมวลผล มีคอมไพเลอร์ที่สร้างขึ้นใน Ruby และทุกคนสามารถเขียนคอมไพเลอร์ในภาษาใดก็ได้ มีการใช้งาน C ของคอมไพเลอร์ Sass ที่เรียกว่าlibsassซึ่งสามารถใช้กับภาษาใดก็ได้ที่อนุญาตให้นำเข้า C libs มันเป็นไลบรารีที่node-sass ใช้ซึ่งเป็นคอมไพเลอร์ที่สร้างขึ้นในNode.jsซึ่งฉันยังไม่ได้ลองและไม่รู้ว่ามันจะทำงานได้อย่างไรและพร้อมสำหรับการใช้งานจริงหรือไม่ มันอาจจะเป็นคำถามของเวลาสำหรับเข็มทิศที่จะรังเพลิง (บางทีคุณอาจจะจบลงด้วยการทำแบบนั้น?) และเพื่อให้เราสามารถมีคอมไพเลอร์ที่ไม่ได้ขึ้นอยู่กับอัญมณีรูบี (ปัจจุบันมีโหนดเข็มทิศโมดูลที่ไม่ต้องอาศัย อัญมณีทับทิม)

ภาษาอื่น ๆ

จนถึงตอนนี้ฉันได้กล่าวถึงความเป็นไปได้สำหรับคอมไพเลอร์ Node.js ซึ่งอย่างที่คุณทราบมันเป็นสภาพแวดล้อม JavaScript ซึ่งเป็นภาษาของเว็บและภาษาที่ฉันเลือก แต่คุณไม่ได้ระบุว่าต้องการให้คอมไพเลอร์เขียนเป็นภาษาใด ฉันคิดว่าอาจมีคอมไพเลอร์ที่สร้างขึ้นในหลายภาษาเช่น @EricMeyer กล่าวถึงคอมไพเลอร์Python บางทีเขาอาจใช้pyScss ? ดูเหมือนว่าจะมีการรองรับเข็มทิศในตัว แต่คุณต้องมีสภาพแวดล้อม Python ดังนั้นสิ่งที่เป็น: คุณจะต้องมีสภาพแวดล้อมสำหรับคอมไพเลอร์เว้นแต่คุณจะเรียกใช้ไบนารีที่คอมไพล์โดยกำเนิด (Less มี less.js ซึ่งสามารถรวมไว้ในเพจเพื่อเรียกใช้ฝั่งไคลเอ็นต์และหลีกเลี่ยงขั้นตอนการคอมไพล์ แต่ไม่ได้มีไว้สำหรับใช้ในการผลิต)

แอปเนทีฟ

ฉันทำงานกับCodeKitมาหนึ่งปีแล้วซึ่งทำได้ดีมากรวบรวมภาษา Sass / Compass, Less, Stylus และเทมเพลตเช่น Haml, Slim, Jade ฯลฯ สร้างสินทรัพย์ของคุณใหม่เมื่อมีการเปลี่ยนแปลงโดยอัตโนมัติและคุณจะเห็นการเปลี่ยนแปลงบนเบราว์เซอร์ของคุณทันที สิ่งเดียวที่ฉันไม่ชอบคือเมื่อย้ายไปที่คอมพิวเตอร์เครื่องอื่นติดตั้ง CodeKit ตรวจสอบโปรเจ็กต์และพยายามใช้งานฉันต้องกำหนดค่าการตั้งค่าโปรเจ็กต์ใหม่ซึ่งฉันต้องจำไว้เพื่อที่ฉันจะได้สร้าง เหมือนกับที่ฉันสร้างในคอมพิวเตอร์เครื่องอื่น นอกจากนี้ฉันเริ่มทำงานกับทีมและพวกเขายังต้องกำหนดค่าโครงการด้วยการตั้งค่าเดียวกัน (บางครั้งการไม่มีการกำหนดค่าโครงการเดียวกันทำให้เกิดความไม่สอดคล้องกันอย่างน่าเกลียด) และสมาชิกในทีมที่ใช้ Ubuntu ก็ไม่สามารถใช้งานได้ ที่'ทันทีและตกหลุมรักมัน ตามที่ @Dave กล่าวไว้มีScoutและยังมีLiveReloadแต่ยังไม่ได้ใช้

สรุป

สรุปคือฉันยังไม่ได้ข้อสรุปที่ชัดเจน ฉันยังคงมองหาคำตอบเดิม แต่ฉันหวังว่าคำตอบนี้จะช่วยให้กระจ่างเกี่ยวกับสถานะของการรวบรวม Sass / Compass นอกสภาพแวดล้อม Ruby


1
สำหรับสถานะของ libsass: solitr.com/blog/2014/01/state-of-libsassซึ่ง node-sass และ sass-libraries อื่น ๆ ขึ้นอยู่กับ
Ehtesh Choudhury

27

จริงๆแล้วมีไลบรารีที่ให้การผูก Node.js กับ libsass เวอร์ชัน C ของ Sass: https://npmjs.org/package/node-sass

ช่วยให้คุณสามารถคอมไพล์ไฟล์. scss เป็น css ด้วยความเร็วที่เหลือเชื่อโดยไม่ต้องติดตั้ง Ruby

ในการติดตั้งเพียงแค่เรียกใช้:

npm install node-sass

และยังมีส่วนขยาย Grunt หากต้องการ: https://github.com/sindresorhus/grunt-sass (นี่คือสิ่งที่ฉันกำลังมองหาในคำถามนี้)

ค้นหาข้อมูลเพิ่มเติมได้ที่: https://github.com/andrew/node-sass


1
คำรามคือสิ่งที่ฉันกำลังมองหา
9ilsdx 9rvj 0lo

11

การอัปเดตเพียงเล็กน้อยคุณสามารถใช้ไฟล์ SCSS / SASS และสร้างไฟล์ที่ถูกต้องได้ทันทีโดยไม่ต้องติดตั้ง Ruby โดยใช้โปรแกรมที่เรียกว่า Scout

Scout มีสภาพแวดล้อมทับทิมในตัวเองและถูกเข้ารหัสด้วย java ดังนั้นโปรดตรวจสอบให้แน่ใจว่า java ของคุณเป็นปัจจุบันก่อนใช้งาน Linky ที่นี่

ความนับถือ :)


8
ฉันอยากทับทิมมากกว่า java;)
basarat

จริงๆแล้วตอนนี้ฉันเขียน Scout นี้โดยใช้ Adobe Air อาจเป็นเวอร์ชันเก่าที่ใช้ Java?
iconoclast

3
ทับทิมยังดีกว่าแอร์ :)
x0x



2

Adobe Brackets (ฟรีโอเพนซอร์ส) สามารถรวบรวม LESS, SASS และ Stylus ได้เมื่อไฟล์มีการเปลี่ยนแปลงและอัปเดตรูปแบบระหว่างการแสดงตัวอย่างแบบสดคุณเพียงแค่ต้องติดตั้งส่วนขยายที่จำเป็นจากตัวจัดการส่วนขยาย รับวงเล็บและสนุก!

แก้ไข: เนื่องจากคำถามอื่น ๆ แนะนำว่าnode-sassเป็นตัวเลือกที่ดีเช่นกันหากคุณติดตั้ง nodejs ไว้แล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.