Javascript Grunt:如果外部配置不可用,请使用默认值

Javascript Grunt:如果外部配置不可用,请使用默认值,javascript,configuration,gruntjs,yaml,Javascript,Configuration,Gruntjs,Yaml,我正在从user.yml加载用户配置文件,但如果该文件不可用,我希望进行回退。比如: var user = grunt.file.readYAML('user.yml'); if (user != null) { console.log(user); } else { user = { name: 'Default user', email: 'user@gmail.com' } } 我在module.exports=函数grunt{之

我正在从user.yml加载用户配置文件,但如果该文件不可用,我希望进行回退。比如:

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

if (user != null) {
    console.log(user);
} else {
    user = {
        name: 'Default user',
        email: 'user@gmail.com'
    }
}
我在module.exports=函数grunt{之后有此代码,但出现错误:

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

Grunt将根据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: 'user@gmail.com'
        }
    }

    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: 'user@gmail.com'
        }
    }

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