在 Babel 插件中,有一个 post
钩子(Hook),它在处理单个 JS 文件后运行。但是,我想在处理完所有 JS 文件后运行一些代码。这可能吗?
目前,我刚刚添加了一个新插件,该插件在第一个插件之后运行,但如果它们是一个插件,它会更干净。
最佳答案
简短的回答是 Babel 不提供这样的钩子(Hook),因为 Babel 的核心转换系统一次运行一个文件。整个API是:
babel.transform("var foo; /* some code */", { filename: "foo.js" });
因此它无法注册在处理组文件后运行的内容。
更长的答案是,如果您专门使用 Webpack,则可以将 Babel 与 Webpack 插件结合使用,从每个单独的文件中收集元数据,然后对所有这些元数据执行某些操作,但这是一个Webpack/babel-loader 特定的功能。 react-intl-webpack-plugin
就是此类 Webpack 插件的一个示例。 ,与 babel-plugin-react-intl
配对.
关于javascript - 处理完所有文件后运行的 Babel 钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55912515/