2014-11-05 21 views
0

我正在從user.yml加載用戶配置文件,但我想做一個回退,以防文件不可用。喜歡的東西:Grunt:如果外部配置不可用使用默認值

var user = grunt.file.readYAML('user.yml'); 

if (user != null) { 
    console.log(user); 
} else { 
    user = { 
     name: 'Default user', 
     email: '[email protected]' 
    } 
} 

我有這個代碼module.exports = function (grunt) {之後,但得到的錯誤:

Loading "Gruntfile.js" tasks...ERROR 
>> Error: Unable to read "user.yml" file (Error code: ENOENT). 

回答

0

咕嚕將尋找根據您Gruntfile.js文件的相對路徑的文件。

因此,如果該文件是conf文件夾內,你需要使用:

module.exports = function(grunt) { 
    var user = grunt.file.readYAML('conf/user.yml'); 

    if(user) { 
     console.log(user); 
    } else { 
     user = { 
      name: 'Default user', 
      email: '[email protected]' 
     } 
    } 

    grunt.registerTask('default', function(){}); 
} 

你可以,如果你使用絕對路徑前綴它使用絕對路徑:

module.exports = function(grunt) { 
    var user = grunt.file.readYAML('/tmp/user.yml'); 

    if(user) { 
     console.log(user); 
    } else { 
     user = { 
      name: 'Default user', 
      email: '[email protected]' 
     } 
    } 

    grunt.registerTask('default', function(){}); 
} 
相關問題