这是一个边缘案例,但它会有助于知道。使用webpack-dev-derver在客户端监听热更新事件?
使用的WebPack-dev的服务器,以保持扩展代码最新开发的延伸,这将是听取有用的“webpackHotUpdate”
的Chrome扩展程序与内容的脚本经常有双方的方程:
- 背景
- 注入的内容脚本
使用的WebPack-DEV-服务器HMR背景PA ge保持同步就好了。但是,内容脚本需要重新加载扩展才能反映更改。我可以通过监听来自hotEmmiter的“webpackHotUpdate”事件并请求重新加载来弥补这一点。目前我的工作方式非常糟糕,非常不可靠。
var hotEmitter = __webpack_require__(XX)
hotEmitter.on('webpackHotUpdate', function() {
console.log('Reloading Extension')
chrome.runtime.reload()
})
XX只是表示当前分配给发射器的编号。正如你可以想象,只要构建发生变化,它就会发生变化,所以这是对概念的一种非常暂时的证明。
我想我可以建立自己插座,但似乎有点小题大做,因为事件已经被转移,我只是想听听。
我刚刚越来越熟悉的WebPack生态系统,因此任何指导是非常赞赏。
听起来很酷,我将尝试了这一点。如果我理解正确,你的答案中的源代码的最后一部分(if(module.hot){)开头只是一个替代解决方案。 您可以分享关于如何从webpack dev服务器运行扩展的任何提示,因为看起来localhost上的捆绑js文件会导致manifest.json中的内容脚本无效? – Steve06