Webpack插件里怎么拿到编译后的资源列表?

一正毅 阅读 14

我正在写一个自定义的 Webpack Plugin,想在编译完成后获取所有输出的资源文件名(比如 main.js、index.css 这些),但不知道该在哪个钩子里拿,也不清楚具体怎么访问到这些信息。

试过在 emit 阶段用 compilation.assets,但打印出来是个对象,key 是文件名,值看起来是 source 对象,不太确定是不是正确的做法。有没有更标准的方式?比如能不能直接拿到一个字符串数组?

class MyPlugin {
  apply(compiler) {
    compiler.hooks.emit.tap('MyPlugin', (compilation) => {
      console.log(Object.keys(compilation.assets)); // 这样对吗?
    });
  }
}
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
Top丶江洁
直接用 Object.keys(compilation.assets) 就行了,这会给你一个输出资源文件名的字符串数组。
点赞
2026-03-24 22:00