问题描述
export default {
input: 'src/main.sidebar.ts',output: {
sourcemap: false,format: 'iife',name: 'sidebar',file: 'public/build/sidebar.json'
},
我如何编写(请注意此处汇总的小节)一个“中间件”,它将获取输出并包装到一个简单的json对象中?
解决方法
您可以使用一个插件,这些插件可以定义多个钩子,特别是generateBundle可以允许您检查生成的包。然后,使用this.emitFile插件上下文函数,您实际上可以输出JSON。这是一个例子
plugins: [
{
name: 'whatever',generateBundle(outputOptions,bundle) {
const entry = Object.values(bundle).find((chunk) => chunk.isEntry);
this.emitFile({
type: 'asset',fileName: 'entry.json',source: JSON.stringify(entry.code)
});
}
}
]