Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用Webpack5样板文件构建chrome.runtime.reload()chrome扩展?_Javascript_Webpack_Google Chrome Extension_Webpack Dev Server - Fatal编程技术网

Javascript 如何在使用Webpack5样板文件构建chrome.runtime.reload()chrome扩展?

Javascript 如何在使用Webpack5样板文件构建chrome.runtime.reload()chrome扩展?,javascript,webpack,google-chrome-extension,webpack-dev-server,Javascript,Webpack,Google Chrome Extension,Webpack Dev Server,我正在使用它作为构建chrome扩展的基础。这一切都可以正常工作,除了内容脚本之外,所有内容都可以热加载(弹出窗口、背景、选项、新选项卡)。重新加载匹配的页面不会重新加载底层的.js。需要重新加载/关闭整个扩展才能使更改生效 所以,在webpack.config.js中,我注释掉了“contentScript”,希望它能解决这个问题,但这没有什么区别 ... chromeExtensionBoilerplate: { notHotReload: [ //'contentScript'

我正在使用它作为构建chrome扩展的基础。这一切都可以正常工作,除了内容脚本之外,所有内容都可以热加载(弹出窗口、背景、选项、新选项卡)。重新加载匹配的页面不会重新加载底层的.js。需要重新加载/关闭整个扩展才能使更改生效

所以,在webpack.config.js中,我注释掉了“contentScript”,希望它能解决这个问题,但这没有什么区别

...
chromeExtensionBoilerplate: {
  notHotReload: [
    //'contentScript'
  ],
},
...
在src/pages/Content/index.js中,它实际上表示

console.log('Must reload extension for modifications to take effect.');
在用纯香草js开发另一个扩展时,我删除了一个运行良好的hot-reload.js。据我所知,是“chrome.runtime.reload()”调用使chrome完全重新加载扩展

因此,我的问题实际上是:

  • 更改src/pages/Content/index.js时,webpack会重新构建build/contentScript.bundle.js。但是,为什么手动重新加载选项卡/页面不能识别这些更改,而对于弹出窗口、背景等,却能识别
  • 如果没有办法让上面的样板重新加载扩展(我不介意硬加载),我如何才能将hot-reload.js(或其实际效果)集成到这个样板中?也就是说,当build/contentScript.bundle.js发生更改时,如何重新加载扩展

提前谢谢

对于感兴趣的人。最后,我将提到的hot-reload.js放在扩展中,并从后台脚本中加载它。通过在任何文件更改时重新加载整个扩展名,这打破了webpack的热重新加载。但只要我只写内容脚本,就行了。我可以在完成后删除它,或者如果我使用其他脚本