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

时间:2014-11-05 16:56:36

标签: 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 = function (grunt) {之后立即使用此代码,但收到错误:

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

1 个答案:

答案 0 :(得分:0)

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(){});
}