首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用webpack开发中间件对构建数据进行自定义格式化?

如何使用webpack开发中间件对构建数据进行自定义格式化?
EN

Stack Overflow用户
提问于 2016-06-22 19:32:28
回答 1查看 222关注 0票数 2

我目前正在使用基本Webpack API与自定义打印机一起进行生成结果,即:

代码语言:javascript
运行
复制
import webpack from 'webpack'

webpack({ /* webpack config */ }, printStats)

function printStats(err, stats) {
  // my custom printing of build results
}

现在我想切换到使用webpack-dev-middleware,但保留我的stat打印机。我认为这可能会奏效:

代码语言:javascript
运行
复制
import webpackDev from 'webpack-dev-middleware'

app.use(webpackDev(webpack({ /* webpack config */ }, printStats), {
    quiet: true // disable default printing so I can use my own
    // ... more webpack-dev-middelware configuration
}))

但是它只打印第一次编译,忽略了后续的编译,即使它们确实发生了。怎样才是正确的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 06:40:11

我通过plugin方法直接侦听Webpack编译器对象,从而解决了这个问题:

代码语言:javascript
运行
复制
const compiler = webpack({ /* webpack config */ })

compiler.plugin('done', stats => {
  // my custom printing of build results
})

app.use(webpackDev(compiler, {
  quiet: true // disable default printing so I can use my own
  // ... more webpack-dev-middelware configuration
}))

每次编译完成时,无论是否成功,都会发生done事件。您可以通过plugin方法侦听其他事件:

  • 'run':表示正在进行一次性编译.监听器接受编译器对象和回调函数,必须调用这些函数来指示侦听器已处理事件。
  • 'watch-run':指示源代码正在以监视模式编译或重新编译。监听器接受编译器对象和回调函数,必须调用这些函数来指示侦听器已处理事件。
  • 'invalid':表示在监视源的过程中检测到了对它的更改(稍后将出现一个watch-run事件。同步;侦听器不带参数。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37976766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档