ฉันเลือกตัวดำเนินการ node-sass สำหรับ libsass เพราะมันขึ้นอยู่กับ node.js
การติดตั้ง node-sass
- (ข้อกำหนดเบื้องต้น) หากคุณไม่มี npm ให้ติดตั้งNode.jsก่อน
$ npm install -g node-sass
-g
โหนดเขื่องติดตั้งทั่วโลก
หวังว่าจะติดตั้งสิ่งที่คุณต้องการหากไม่ได้อ่าน libsass ที่ด้านล่าง
วิธีใช้ node-sass จาก Command line และ npm scripts
รูปแบบทั่วไป:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
ตัวอย่าง:
$ node-sass my-styles.scss my-styles.css
รวบรวมไฟล์เดียวด้วยตนเอง
$ node-sass my-sass-folder/ -o my-css-folder/
รวบรวมไฟล์ทั้งหมดในโฟลเดอร์ด้วยตนเอง
$ node-sass -w sass/ -o css/
รวบรวมไฟล์ทั้งหมดในโฟลเดอร์โดยอัตโนมัติเมื่อใดก็ตามที่มีการแก้ไขไฟล์ต้นฉบับ -w
เพิ่มนาฬิกาสำหรับการเปลี่ยนแปลงในไฟล์
ตัวเลือกที่มีประโยชน์มากขึ้นเช่น 'อัด' @ ที่นี่ บรรทัดคำสั่งเหมาะสำหรับการแก้ปัญหาอย่างรวดเร็วอย่างไรก็ตามคุณสามารถใช้ Task Runner เช่น Grunt.js หรือ Gulp.js เพื่อทำให้กระบวนการสร้างเป็นไปโดยอัตโนมัติ
คุณยังสามารถเพิ่มตัวอย่างข้างต้นในสคริปต์ npm ในการใช้สคริปต์ npm เป็นไฟล์ทางเลือกที่จะอึกอ่านบทความนี้ครอบคลุม @ css-tricks.comโดยเฉพาะอย่างยิ่งอ่านเกี่ยวกับงานการจัดกลุ่ม
- หากไม่มี
package.json
ไฟล์ในไดเร็กทอรีโปรเจ็กต์ของคุณทำงานอยู่$ npm init
จะสร้างขึ้นมา ใช้-y
เพื่อข้ามคำถาม
- เพิ่ม
"sass": "node-sass -w sass/ -o css/"
ไปที่scripts
ในpackage.json
ไฟล์ ควรมีลักษณะดังนี้:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass
จะรวบรวมไฟล์ของคุณ
วิธีใช้อึก
$ npm install -g gulp
ติดตั้ง Gulp ทั่วโลก
- ถ้าไม่มี
package.json
ไฟล์ในไดเร็กทอรีโปรเจ็กต์ของคุณทำงานอยู่$ npm init
จะสร้างขึ้นมา ใช้-y
เพื่อข้ามคำถาม
$ npm install --save-dev gulp
ติดตั้ง Gulp ในเครื่อง --save-dev
เพิ่มgulp
ให้devDependencies
package.json
ใน
$ npm install gulp-sass --save-dev
ติดตั้ง gulp-sass ในเครื่อง
- ตั้งค่าอึกสำหรับโปรเจ็กต์ของคุณโดยสร้าง
gulpfile.js
ไฟล์ในโฟลเดอร์รูทโปรเจ็กต์ของคุณด้วยเนื้อหานี้:
'use strict';
var gulp = require('gulp');
ตัวอย่างพื้นฐานในการถ่ายทอด
เพิ่มรหัสนี้ใน gulpfile.js ของคุณ:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
gulp.src('./sass/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});
$ gulp sass
รันงานด้านบนซึ่งรวบรวมไฟล์. scss ในsass
โฟลเดอร์และสร้างไฟล์. css ในcss
โฟลเดอร์
เพื่อให้ชีวิตง่ายขึ้นเรามาเพิ่มนาฬิกาเพื่อที่เราจะได้ไม่ต้องรวบรวมนาฬิกาด้วยตนเอง เพิ่มรหัสนี้ในgulpfile.js
:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
ตั้งค่าทั้งหมดแล้ว! เพียงเรียกใช้งานนาฬิกา:
$ gulp sass:watch
วิธีใช้กับ Node.js
ตามความหมายของชื่อ node-sass คุณสามารถเขียนสคริปต์ node.js ของคุณเองสำหรับการโอนย้าย หากคุณอยากรู้ลองดูหน้าโปรเจ็กต์ node-sass
แล้ว libsass ล่ะ?
Libsass เป็นไลบรารีที่ต้องสร้างโดยผู้ใช้งานเช่น sassC หรือในกรณีของเรา node-sass Node-sass มี libsass เวอร์ชันที่สร้างขึ้นซึ่งใช้โดยค่าเริ่มต้น หากไฟล์บิลด์ไม่ทำงานบนเครื่องของคุณไฟล์จะพยายามสร้าง libsass สำหรับเครื่องของคุณ กระบวนการนี้ต้องใช้ Python 2.7.x (3.x ใช้ไม่ได้ ณ วันนี้) นอกจากนี้:
LibSass ต้องการ GCC 4.6+ หรือ Clang / LLVM หากระบบปฏิบัติการของคุณเก่ากว่าเวอร์ชันนี้อาจไม่สามารถคอมไพล์ได้ ใน Windows คุณต้องมี MinGW ที่มี GCC 4.6+ หรือ VS 2013 Update 4+ นอกจากนี้ยังสามารถสร้าง LibSass ด้วย Clang / LLVM บน Windows
node-sass
อยู่ในการgulp-sass
อ้างอิงของดังนั้นไม่จำเป็นต้องติดตั้งภายในเครื่อง