ฉันเลือกตัวดำเนินการ 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ให้devDependenciespackage.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อ้างอิงของดังนั้นไม่จำเป็นต้องติดตั้งภายในเครื่อง