grunt-contrib-sass 如何自动编译当前被修改的Sass文件?
以前都是装了 Ruby 后用命令行编译 Sass 的,感觉太 Low,所以最近刚切换到 Grunt(还是很 Low 嘛,好吧……),想以此实现自动化编译被修改的 Sass 文件。
Grunt package.json 内容如下:
{ "name": "grunt sass demo", "version": "1.0.0", "devDependencies": { "grunt": "*", "grunt-contrib-watch": "*", "grunt-contrib-sass": "*" }}
Gruntfile.js 内容如下:
module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), meta: { basePath: '../', srcPath: '../assets/sass/', // 源码 deployPath: '../assets/css/' // 编译输出 }, banner: '/*! - v - ' + '\n' + '* Copyright (c) ', sass: { dist: { options: { sourcemap: 'auto', style: 'compressed' }, // 这样写不起作用 // files: { // src: '*.scss', // dest: '*.css' // } // 这样只能编译特定的文件 // files: { // 'test1.css': 'test1.scss' // } // 使用字典匹配 files: [{ expand: true, cwd: '', src: ['*.scss'], dest: '', ext: '.css' }] } }, watch: { scripts: { files: ['*.scss'], tasks: ['sass:dist'] } } }); grunt.loadNpmTasks('grunt-contrib-sass'); grunt.loadNpmTasks('grunt-contrib-watch');};然后运行 grunt watch 开启监视模式,当我修改 srcPath/sass/ 下的任一个 Sass 文件时,当前整个目录下的 Sass 文件都会被编译,请问如何设置才能只编译当前改动的文件? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|