Webpack插件里怎么拿到编译后的资源列表?
我正在写一个自定义的 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)); // 这样对吗?
});
}
}
Object.keys(compilation.assets)就行了,这会给你一个输出资源文件名的字符串数组。