无法使用grunt副本修改文件的内容

时间:2016-07-08 11:06:50

标签: javascript gruntjs

            expand: true,
            cwd: './api/services',
            src: 'constants.js',
            dest: './assets/js',
            options: {
                process: function (content, srcpath) {
                    return content.replace(/module\.exports\.(\w*)\s=\sfunction/,"function $1")
                }
            }

我想将module.exports.funcName = func()替换为func funcName()。

1 个答案:

答案 0 :(得分:0)

我知道这个问题已有4岁,但我遇到了同样的问题,因此希望对其他人有所帮助。对我来说,解决方案是在“文件”之外定义“选项”。我不确定这是否会对OP有所帮助,因为他们没有提到他们的选项是否首先在“文件”中定义。

给出上面的特定示例:

copy: {
    main: {
        files: [
            {
                expand: true,
                cwd: './api/services',
                src: 'constants.js',
                dest: './assets/js',
                options: {
                    process: function (content, srcpath) {
                        return content.replace(/module\.exports\.(\w*)\s=\sfunction/,"function $1")
                    }
                }
            }
        ]
    }
}

对此:

copy: {
    main: {
        options: {
            process: function (content, srcpath) {
                return content.replace(/module\.exports\.(\w*)\s=\sfunction/,"function $1")
            }
        },
        files: [
            {
                expand: true,
                cwd: './api/services',
                src: 'constants.js',
                dest: './assets/js'
            }
        ]
    }
}