Gulp系列教程:檢查SCSS和JavaScript的語法

jopen 8年前發布 | 10K 次閱讀 CSS 前端技術 gulp

這是Gulp系列教程的第九部分。今天我會使用Gulp.js來自動檢測SCSS和JavaScript文件的語法錯誤和警告。

我決定檢測SCSS文件而不是CSS文件,因為檢測生成的CSS沒有意義。但是你也可以用 gulp-csslint 來檢測。

$ npm install --save-dev gulp-scss-lint@0.3.6 gulp-jshint@1.8.5 jshint-stylish@2.0.1

另外你需要安裝 sass-lint 的Gem包并運行 bundle install :

// Gemfile

source "https://rubygems.org"

gem 'jekyll', '~> 2.5.2'
gem 'sass', '>= 3.3'
gem 'scss-lint', '~> 0.31.0'
gem 'fontcustom', '~> 1.3.7'

還要添加一些 jshint 和 scss-lint 配置:

// gulp/config.js

scsslint: {
  src: [
    srcAssets + '/scss/**/*.{sass,scss}',
    '!' + srcAssets + '/scss/base/_sprites.scss',
    '!' + srcAssets + '/scss/helpers/_meyer-reset.scss'
    ],
    options: {
      bundleExec: true
    }
},
jshint: {
  src: srcAssets + '/javascripts/*.js'
}

我忽略一些文件的檢查(通過在路徑前添加 ! ),因為它們不是我寫的或者我無權控制語法。

// gulp/tasks/development/scss-lint.js

var gulp     = require('gulp');
var scsslint = require('gulp-scss-lint');
var config   = require('../../config').scsslint;

/**
 * Lint SCSS files
 * `gem install scss-lint` needed
 */
gulp.task('scsslint', function() {
  return gulp.src(config.src)
    .pipe(scsslint(config.options));
});
// gulp/tasks/development/jshint.js 

var gulp    = require('gulp');
var jshint  = require('gulp-jshint');
var stylish = require('jshint-stylish');
var config  = require('../../config').jshint;

/**
 * Check JavaScript sytax with JSHint
 */
gulp.task('jshint', function() {
  return gulp.src(config.src)
    .pipe(jshint())
    .pipe(jshint.reporter(stylish));
});

語法檢查工具的配置 你可以在根目錄下給SCSS檢查添加隱藏文件 .scss-lint.yml 和給JSHint添加 .jshintrc 來修改檢查規則。 查看哪些選項可用請查閱 SCSS-LintJSHint 的文檔。

源代碼

在GitHub上查看源碼

總結

這是Gulp系列教程的第九部分的總結。今天我們學習了如何使用Gulp.js檢查SCSS和JavaScript文件的語法。這個任務在編寫文件時會持續運行并在出錯時立刻在命令行輸出錯誤。

本文根據 @Stefan Imhoff 的《 Introduction to Gulp.js 9: Checking the Syntax of SCSS and JavaScript 》所譯,整個譯文帶有我們自己的理解與思想,如果譯得不好或有不對之處還請同行朋友指點。如需轉載此譯文,需注明英文出處: http://stefanimhoff.de/2014/gulp-tutorial-9-linting-scss-and-javascript/

Blueed

現居上海。正在學習前端的道路上,歡迎交流。個人博客: Blueed.me ,微博:@Ivan_z3

來自: http://www.w3cplus.com/workflow/gulp-tutorial-9-linting-scss-and-javascript.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!