定制项目构建流程
结构类似:
扩展构建流程
要扩展构建流程,需要在扩展包中实现。如果你对扩展包还不了解,可参考 来快速创建一个扩展包。
// main.js
var path = require('path');
var fs = require('fs');
function onBeforeBuildFinish (options, callback) {
var mainJsPath = path.join(options.dest, 'main.js'); // 获取发布目录下的 main.js 所在路径
var script = fs.readFileSync(mainJsPath, 'utf8'); // 读取构建好的 main.js
script += '\n' + 'window.myID = "01234567";'; // 添加一点脚本到
fs.writeFileSync(mainJsPath, script); // 保存 main.js
callback();
}
load () {
Editor.Builder.on('before-change-files', onBeforeBuildFinish);
},
unload () {
Editor.Builder.removeListener('before-change-files', onBeforeBuildFinish);
}
上面注册的事件是 'before-change-files'
,这个事件会在构建结束之前触发,此时除了计算文件 MD5、原生平台的加密脚本以外,大部分构建操作都已执行完毕。你可以在这个事件中对已经构建好的文件做进一步处理。
此外,你可以监听的事件还有 和 'build-finished'
,分别对应的触发时机是构建开始和完全结束,它们的用法也是一样的,这里不再赘述。