我正在尝试编写一个自定义脚本/插件,以包含在requireJS r.js优化器中(用于指纹静态文件和一个用于捆绑JSON资源)。
我还没想到的是如何在构建过程中触发我的自定义优化器。我可以编写脚本,但是如何在优化期间触发bundle-build.js
模块。
感谢提示!
修改
我知道我可以使用'onBuildRead / Write',但这不是添加优化器插件的地方。像require-css这样的东西更接近,但是一个文件前缀,触发插件,指定在构建期间使用pluginBuilder
。不是我想要的。
答案 0 :(得分:3)
优化程序应该拾取指定为依赖项的所有文件。如果你需要包含额外的东西,你可以使用onBuildRead或onBuildWrite回调添加额外的逻辑,在那里你可以添加/删除额外的东西:
({
name: 'main',
baseUrl: '../',
// optimize: 'none',
optimize: 'uglify2',
exclude: ['jquery'],
mainConfigFile: '../main.js',
out: '../main.min.js',
// A function that if defined will be called for every file read in the
// build that is done to trace JS dependencies.
// Remove references to console.log(...)
onBuildRead: function (moduleName, path, contents) {
return contents;
// return contents.replace(/console.log(.*);/g, '');
},
onBuildWrite: function (moduleName, path, contents) {
// Add extra stufff;
return contents;
}
})