我正在尝试使用外部脚本来创建静态生成的内容 (SSG),但不知道如何将其插入 Vite。
我研究过像 vite-plugin-run 这样的插件,但它似乎无法获取更改后的文件以传递到命令中。我也调查了
transform
钩子,但无法使某些东西正常工作。
是否可以像下面那样做?我如何将源代码传递给命令(又名将内容重定向为命令的输入)?
// vite.config.js
import { exec } from 'child_process';
...
plugins: [
{
name: "Transform HTML",
transform(code, id) {
// Transform HTML via external script
if (id.endsWith(".html")) {
// TODO: Replace 'echo test' with actually passing the content to myscript.sh and using the output
exec('echo test', (err, stdout, stderr) => {
code = stdout;
});
}
return {code, map: null}
}
}
]