Grunt - grunt-xml戳可变目的地名称

时间:2015-05-07 11:17:07

标签: javascript node.js gruntjs

我正在使用grunt-xmlpoke更新xml文件。 xml文件的路径作为参数提供。问题是文件中的第一个WebConfigPath(键)部分被视为字符串。它会更新我的xml文件的本地副本并将其命名为WebConfigPathWebConfigPath应被视为key和value中的varibale。

var grunt = require('grunt');

var PACKAGE_DIR = grunt.option('package-dir');
var WebConfigPath = PACKAGE_DIR + '\\myproj\\web.config';

grunt.initConfig({
    xmlpoke: {
        UpdateWebConfig: {
            options: {
                replacements: [
                    {
                        xpath: '//add[@key="StarterApp.Settings.CMode"]/@value',
                        value: 'TRUE'
                        },
                    {
                        xpath: '//system.web/authorization/deny/@users',
                        value: '?'
                        }
                    ]
            },
            files: {
                WebConfigPath: WebConfigPath
            }
        }
    }
});

1 个答案:

答案 0 :(得分:0)

虽然这可能对@ adnan-kamili没有帮助,因为这是3年前提出的,但可能会帮助其他人(我遇到了同样的问题)。

我包围了文件设置括号以尝试强制xmlpoke将其视为数组,希望它能以不同方式对待它们。似乎工作! #result

    files: {
        [WebConfigPath]: [WebConfigPath]
    }