แนะนำให้รู้จัก Sass กับชีวิต Front-end ที่สะดวกสบายขึ้น (ตอนที่ 1)

That C.
Technologies For Everyone
4 min readFeb 25, 2017

--

สวัสดีนักพัฒนาหน้าใหม่ทุกท่าน หากคุณเป็นคนที่อยู่ในวงการการพัฒนาเว็บมาอย่างยาวนานคงจะรู้จักสิ่งที่จะได้อ่านต่อไปนี้เป็นอย่างดี แต่สำหรับผู้ที่พึ่งเริ่มต้นศึกษาหรือผู้ที่มีความสนใจการพัฒนาเว็บไวต์สิ่งต่อไปนี้เป็นสิ่งที่จะทำให้ชีวิตนักพัฒนาของคุณสะดวกสบายขึ้นอย่างแน่นอน สิ่งที่เราจะพูดถึงนั่นก็คือ Sass นั่นเองครับ

ซึ่งในซีรี่ส์ Sass ที่ท่านจะได้อ่านต่อไปนี้เราก็จะเริ่มสอนตั้งแต่เริ่มต้นวิธีการลง(ตอนนี้) แล้วหัวข้อหรือฟีตเจอร์หลักๆของเจ้า Sass โดยจะมีด้วยกันทั้งหมด 8 ตอนซึ่งตอนสุดท้ายเราก็จะสอนเขียนหน้าเว็บจากที่เราได้เรียนรู้กันมาพร้อมทั้งเปรียบเทียบ Sass กับ CSS ให้เห็นกันจะจะกันไปเลย

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

Sass คืออะไร

Sass (Syntactically Awesome Stylesheets) คือเครื่องมือที่ช่วยให้การทำงานกับ CSS ง่ายขึ้นเป็นภาษาสไตล์ชีตภาษาหนึ่งเปรียบเสมือนเป็น CSS Preprocessor ซึ่งทำงานคล้ายกับ LESS CSS

การเขียน Sass นั้นจะเขียนคล้าย ๆ กับ CSS แต่ Sass จะมีฟังก์ชั่นเพิ่มขึ้นมาช่วยให้เขียนได้ง่ายขึ้นเช่น

  • Variables มีตัวแปรที่สามารถใช้เก็บข้อมูลเช่น สี ฟอนต์ แล้วเรียกใช้ซ้ำได้เรื่อยๆ
  • Nesting เหมือน HTML ที่มีการทำงานแบบนี้แต่ CSS ไม่มี
  • Partials สามารถแบ่งส่วนไฟล์แล้วเรียกใช้ภายหลังได้ ทำให้ง่ายต่อการจัดการ
  • Import ไม่เหมือน CSS ที่จะมีการส่ง html request ทุกครั้ง แต่ Sass จะรวมไว้ให้ในครั้งแรกที่เรียกใช้ไฟล์
  • Mixins ช่วยให้สามารถเก็บ CSS Declaration เอาไว้เป็นชุดๆ เพื่อนำไปใช้ต่อในส่วนอื่นๆซึ่งง่ายต่อการใช้งานมากกว่า CSS ปกติ
  • Extend/Inheritance ช่วยให้คุณสามารถที่จะแชร์เซ็ทของ properties จาก selector หนึ่งไปยังอีกตัวหนึ่งได้อย่างง่ายดาย
  • Operators การกำเนินการทางคณิตศาสตร์สามารถทำได้ใน Sass เช่น +, -, *, /, และ%

โดยเมื่อเขียน Sass เสร็จแล้วก็สามารถ Compile เป็นไฟล์ CSS เพื่อเอาไปใช้งานได้ตามปกติ

สอนการติดตั้ง Sass

ก่อนอื่นนั้นเข้าไปที่เว็บไซต์หลักของ Sass กันเลย คลิก เมื่อเข้าไปแล้วท่านจะเห็นว่า Sass มีวิธีการติดตั้งด้วยกัน 2 แบบนั่นคือ

  1. Applications
  2. Command Line

ซึ่งแบบแรกจะเป็นแอพพลิเคชั่นที่มีการติดตั้ง Sass อยู่แล้วภายในหลากหลายแพลทฟอร์มเช่น Mac, Windows, และ Linux ซึ่งส่วนมากแล้วจะเป็นแอพที่ต้องเสียค่าใช้จ่ายแต่หากท่านสนใตก็คุ้มค่าที่จะจ่ายครับ

ฉะนั้นวันนี้เราจะมาสอนลง Sass แบบที่สองให้ทุกท่านกัน โดยลงวินโดวส์นะครับ

ท่านจะเห็นว่าก่อนอื่นต้องลง Ruby Installer ก่อน กดเข้าไปได้เลยครับ

1. Ruby Installer

เมื่อเข้ามาแล้วจะเห็นหน้าเว็บไซต์เป็นอย่างนี้ครับ กด Download กันเลย
จากนั้นก็ดาวน์โหลด Installer ที่ตรงตามวินโดวส์ของท่าน แนะนำว่าให้เป็นเวอร์ชั่นล่าสุดนะครับ
เมื่อกดเข้าไปแล้วเลือกไปที่ I accept the License แล้วกด Next > ได้เลยครับ
จากนั้นให้เลือกว่าเราจะลงไว้ที่ไหน แนะนำว่าไม่ต้องเปลี่ยนครับให้เป็น C:\ เหมือนเดิม
รอสักครู่ครับ
เสร็จเรียบร้อยแล้วครับ

2. Set path สำหรับ Command Line

เข้าไปที่ Edit the system environment variables โดยพิมพ์ที่ช่องค้นหาหรือจะเข้าผ่าน Control Panel ก็ได้ครับ
จากนั้นเข้าไปที่ Environment Variables ครับ
ในส่วนของ System variables เลือกที่ Path จากนั้นกด Edit… ครับ
จากนั้นทำการเพิ่ม path ของ Ruby เราด้วยกดที่ New แล้วใส่ C:\Ruby23-x64\bin หรือหากโปรแกรมของท่านลงไว้ต่างจากนี้สามารถดูได้ตรงช่อง Address โดยเข้าไปให้ถึงโฟลเดอร์ bin ครับ
เป็นอันเสร็จเรียบร้อยครับ กด OK ได้เลย

3. ลง Sass

เข้าไปที่ Command Prompt ของ Windows ครับโดยกดค้นหาแล้วพิมพ์ cmd ได้เลยครับ
จากนั้นพิมพ์ไปว่า gem install sass แล้วรอสักครู่ครับ
เมื่อระบบลงเสร็จเรียบร้อยจะขึ้นมาตามภาพนี้เลยครับ หากเกิดการแจ้งเตือน error ให้ลองใช้คำสั่ง sudo gem install sass แทน
เพื่อความแน่ใจลองเช็คกันอีกสักรอบโดยพิมพ์ sass -v ซึ่งควรจะได้ผลลัพธ์ว่า Sass 3.4.22 (Selective Steve) เรียบร้อย!

Gulp.js

Gulp เป็นภาษา JavaScript ภาษาหนึ่งที่ open-source สามารถโหลดมาใช้งานกันได้อย่างฟรีๆ ซึ่งถ้าจะให้เปรียบ Gulp เปรียบเสมือนตัวช่วยที่จะช่วยทำงานทุกอย่างแทนเรา ตัวอย่างสิ่งที่มันสามารถทำได้เช่น Compile, Minify, Combine และ Refesh

ซึ่งก่อนที่เราจะสามารถทำงานกับ Sass ได้ เราต้องมีเครื่องมือในการทำการ Compile Sass ให้เป็น CSS เสียก่อน และเราก็จะใช้เจ้า Gulp นี่แหละทำงานนี้ให้ดับเรา

ก่อนอื่นเลยท่านต้องลง Node.js ก่อน สามารถดาวน์โหลดได้ที่นี่เลยครับ

เมื่อเข้ามาให้เลือกเวอร์ชั่นที่ตรงกับคอมพิวเตอร์ของคุณ ของผมเลือก .msi 64-bit
จากนั้นเปิดเพื่อ Install ตามปกติครับ
กดยอมรับแล้ว Next ได้เลยครับ
เลือกว่าจะลงไว้ที่ไหนครับ แนะนำว่าไม่ต้องเปลี่ยนนะครับ
Next อีกรอบครับ
Install ได้เลย
รอสักครู่ครับ
กด Finish เป็นอันเรียบร้อย
เปิด cmd เพื่อลง Gulp โดยใช้คำสั่ง npm install gulp -g เพื่อลง gulp แบบ Global

ไม่เหมือนกับ Ruby ที่ต้องมีการ Set path แต่หากไม่สามารถทำตามรูปสุดท้ายนี้ได้ ก็ลอง set path เหมือนของการลง Sass ขั้นตอนที่ 2 ได้เลยครับ เป็นอันเรียบร้อย!

SCSS

SCSS นั้นก็คือ Sass เพียงแต่แตกต่างกันเพียงแค่ syntax เท่านั้นเพียงแค่เพิ่มวงเล็บปีกกา {…} และเครื่องหมาย semicolin (;) ขึ้นมา เพราะ SCSS จะมี Syntax ที่คล้ายคลึงกับ CSS มากกว่าทำให้ผู้พัฒนาปรับตัวได้เร็วกว่าในการมาใช้ Sass ฉะนั้นจากนี้ไปจะขอยกตัวอย่างเป็นโค้ด SCSS นะครับ

รวบยอด

ตอนนนี้ทุกท่านคงจะเห็นภาพรวมของสิ่งที่กำลังจะเจอกันแล้ว Sass คืออะไรแล้วเราจะเรียนรู้อะไรเกี่ยวกับมันบ้าง รวมถึงการเตรียยมทรัพยากรเพื่อพร้อมใช้งาน Sass นั่นคือการลง Ruby เพื่อใช้งาน Sass แล้วการลง Node.js เพื่อใช้งาน gulp ที่ทำหน้าที่ compile Sass-> CSS และรวมถึงเราได้กล่าวถึง SCSS ที่เหมือนกับ Sass แต่ปรับเปลี่ยน syntax ให้คล้ายเดิมกับ CSS เพื่อให้ผู้ใช้งานได้เปลี่ยนมาใช้ Sass ได้ง่ายขึ้น

--

--