2012-11-19 2 views
10

사람들이 여러 프로젝트에 대한 Grunt의 일반적인 구성 옵션을 어떻게 처리합니까? 프로젝트는 몇 가지 일반적인 구성 옵션을 공유합니다. min의 경우, 개인 또는 사용자 정의 프로젝트 당 구성 설정이 있습니다. 3 개의 프로젝트 중 하나만 less이 필요하거나 이에 대한 옵션이 다릅니다.grunt.js 구성의 일반적인 구성 옵션에 대한 상속

상속을 사용하거나 기존 파일을 가져 오는 동안 프로젝트간에 이러한 공통 구성을 공유하거나 각 프로젝트가 모든 설정을 정의해야합니까?

내가

root 
    module1 
     grunt.js 
    module2 
     grunt.js 
    module3 
     grunt.js 

root 수준에서 일반적인 구성 설정을 제공하는 몇 가지 방법이 있나요

같은 디렉토리 계층에있는 것을 말하는 겁니다 프로젝트는?

답변

10

필요한만큼 많은 외부 JSON 파일에 구성을 쉽게 저장할 수 있습니다. grunt.file.readJSON 여기에 도움이 될 것입니다. 예를 들어 : -/"`var에 설정이 (__이 dirname +를 필요로 =

module.exports = function(grunt) { 

    var concatConf = grunt.file.readJSON('../concat-common.json'), 
     minConf = grunt.file.readJSON('../min-common.json'); 

    // do whatever you want with concatConf and minConf here 
    // ... 

    // Project configuration. 
    grunt.initConfig({ 
    pkg: '<json:grunt-sample.jquery.json>', 
    meta: { 
     banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + 
     '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 
     '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' + 
     '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + 
     ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */' 
    }, 

    concat: concatConf, 
    min: minConf 

    // ... 
    }); 

    // Default task. 
    grunt.registerTask('default', 'concat min'); 

}; 

는 gruntfile이 노드에서 실행되는 일반 자바 스크립트 파일 환경 및 구성 옵션은 일반 자바 스크립트 또한 :

+1

객체이다는 것을 잊지 마세요 min-common.json ");' –

관련 문제