314 - 《Node 补丁方案》
发布于 2023年6月21日
1、三类补丁。
这里很容易做漏了。
1)可以打补丁的模块。解法是通过 alias 隐射到补丁路径。
import path from 'path';
console.log(path.join('a', 'b'));
2)不可以打补丁的模块。解法是通过 externals 返回空包。
import fs from 'fs';
console.log(fs);
3)可以打补丁但不需要 import 即可使用。解法是写 swc 插件,遇到比如 process 但有没有 bindings(被定义)时改成 require('process')
。
console.log(process);
2、集成 node-libs-brows