RequireJS优化器前置

RequireJS optimizer prepend

本文关键字:优化 RequireJS      更新时间:2023-09-26

我正在寻找一种方法来添加一些信息到最小化文件。

我在这里找到了这个选项,但它对我没有用处,因为丑化器在添加包装器代码后运行。

您可以为out键分配一个函数来对文件进行后处理。通过设置此选项,结果将不会自动写入文件,因此您必须自己完成。例如:

({
    // Let's optimize mainApp.js
    name: "mainApp",
    optimize: "uglify",
    out: function(text) {
        // Transform the compiled result.
        text = '// Stuff to prepend 'n' + text;
        var filename = 'outputfile.js';
        // By default, the name is resolved to the current working directory.
        // Let's resolve it to the directory that contains this .build.js:
        filename = path.resolve(this.buildFile, '..', filename);
        // Finally, write the transformed result to the file.
        file.saveUtf8File(filename, text);
    }
})

注意:在前面的代码片段中,file.saveUtf8File是一个内部RequireJS API, path是从Node.js标准库中导入的path模块(仅当您使用Node.js运行r.js时,而不是例如使用Rhino或在浏览器中)。

如果您将前一个保存为test.build.js,则创建一个名为mainApp.js的空文件并运行' r.js -o test.build.js,那么将创建一个名为"outputfile.js"的文件,其中包含以下内容:

// Stuff to prepend 
define("mainApp",function(){});