将变量文件名传递给grunt.file.read



当试图将用户私钥传递给grunt-ssh时,我希望每个开发人员都能够在Gruntfile中加载的Gruntsetting.json中设置他们的服务器密钥,如下所示:

    settings: grunt.file.readJSON('Gruntsettings.json'),
    sshexec: {
        test: {
            command: 'uptime',
            options: {
                privateKey: grunt.file.read('<%- settings.keyPath %>'),
                host: '<%= settings.host %>',
                username: '<%= settings.username %>'
            }
        },
    }

然而,当我在grunt.file.read语句中使用keyPath设置时,我会得到错误:

Error: Unable to read "<%- settings.keyPath %>" file (Error code: ENOENT).

是否可以将读取json文件中的变量传递回另一个读取命令?

展开privateKey模板以包含文件读取方法调用:

settings: grunt.file.readJSON('Gruntsettings.json'),
sshexec: {
    test: {
        command: 'uptime',
        options: {
            privateKey: '<%= grunt.file.read(settings.keyPath) %>',
            host: '<%= settings.host %>',
            username: '<%= settings.username %>'
        }
    },
}

最新更新