magic-string是一个用于转换、编辑和操作字符串的库。
安装
npm install magic-string
基本使用
import MagicString from 'magic-string';
const ms = new MagicString('const a = 1;');
// 添加新代码
ms.append('const b = 2;');
// 替换代码
ms.overwrite(6, 10, 'two');
// 删除代码
ms.remove(1, 6);
// 获取修改后的代码
console.log(ms.toString());
// 'const b = 2; const two = 1;'
插入/替换
ms.insert(7, 'my ');
// 'conmyst b = 2;'
ms.overwrite(1, 4, 'your');
// 'yourst b = 2;'
sourcemap
ms.generateMap({
includeContent: true
});
// 返回 sourcemap 对象
过渡/动态修改
ms.overwrite('foo', 'bar');
ms.intro = 'before';
ms.outro = 'after';
console.log(ms.toString());
// 'beforebarafter'
搜索/替换模式
ms.renameProperties({
zlib: 'somethingElse'
});
动态删除
ms.lazy = true;
ms.remove(0, 10);
// 不会立即删除,需要调用 ms.toString()
总之 magic-string提供了很多有用的API用于编辑和操作字符串,对需要处理源代码的场景很有帮助。