Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 由于附加了DevTools,已取消超时计时器终止服务辅助进程_Javascript_Reactjs_Service Worker_Sw Precache - Fatal编程技术网

Javascript 由于附加了DevTools,已取消超时计时器终止服务辅助进程

Javascript 由于附加了DevTools,已取消超时计时器终止服务辅助进程,javascript,reactjs,service-worker,sw-precache,Javascript,Reactjs,Service Worker,Sw Precache,操作系统:Windows 10 Pro 网页:1.14.0 sw precache网页包插件:0.9.1 西南预科:5.0.0 因此,我启动了我的站点,并在几分钟内不主动执行任何操作,然后在devTools中生成上面指定的错误消息。如果执行某些过程,则不会出现错误 我的代码如下: webpack.config.prod.js var path=require('path'); var webpack=require('webpack'); var swprecacheebpackplugin=

操作系统:Windows 10 Pro
网页:1.14.0
sw precache网页包插件:0.9.1
西南预科:5.0.0

因此,我启动了我的站点,并在几分钟内不主动执行任何操作,然后在devTools中生成上面指定的错误消息。如果执行某些过程,则不会出现错误

我的代码如下:

webpack.config.prod.js

var path=require('path');
var webpack=require('webpack');
var swprecacheebpackplugin=require('sw-precache-webpack-plugin');
module.exports={
devtool:'源映射',
上下文:_dirname,
条目:{
main:path.resolve(uuu dirname,'./client/app'),
},
输出:{
path:path.join(uu dirname,“/public”),
文件名:“bundle.js”,
publicPath:“/public/”
},
插件:[
新建webpack.optimize.OccurenceOrderPlugin(),
新的webpack.DefinePlugin({
“process.env”:{
‘NODE_ENV’:“‘production’”
}
}),
新建webpack.optimize.UglifyJsPlugin({
压缩机:{
警告:错误
}
}),
新SWP包装包装盒(
{
cacheId:‘火烈鸟城’,
文件名:“my service worker.js”,
stripPrefix:path.join(\uu dirname,'public')。replace(/\\\/g,“/”),
maximumFileSizeToCacheInBytes:6194304,
缩小:是的,
运行时缓存:[{
处理程序:“cacheFirst”,
urlPattern:/[.]mp3$/,,
}],
}
),
],
模块:{
装载机:[
//js
{
测试:/\.js$/,,
装载机:[“巴别塔”],
包括:path.join(uu dirname,'client')
},
//CSS
{ 
测试:/\.styl$/,,
包括:path.join(uu dirname,'client'),
加载器:“样式加载器!css加载器!手写笔加载器”
}
]
}

};通常情况下,作为一种优化,空闲的服务人员会被主动杀死,以防止代码在不需要时在后台运行

Chrome会采取步骤检测DevTools是否打开,当打开时,不会自动杀死服务人员。假设开发人员正在使用DevTools,他们可能正在调试或检查服务人员的行为,杀死服务人员会让开发人员感到沮丧

延长服务工作者的生命周期过去是无声的,但在过去的几个Chrome版本中,消息

超时计时器终止的服务工作进程已取消,因为 已附加DevTools

记录到控制台,以让开发人员知道服务工作人员通常会被杀死,但杀死它的作业由于DevTools处于打开状态而被取消

你可能会问,这有什么区别?为什么要让开发人员知道没有发生什么事情呢

指出这一点的动机是让开发人员知道,在这个调试环境中,实际用户将在生产中遇到的事情(即,服务人员被反复杀死/重新启动)不会发生。如果开发人员编写了错误的服务人员代码,这会产生不同。编写假定全局状态将始终保持的代码很容易,并且在DevTools打开的情况下运行(因为服务工作人员从未被杀死),然后在生产环境中无法工作。

var path=require('path');
var webpack=require('webpack');
var swprecacheebpackplugin=require('sw-precache-webpack-plugin');
module.exports={
devtool:'源映射',
上下文:_dirname,
条目:{
main:path.resolve(uuu dirname,'./client/app'),
},
输出:{
path:path.join(uu dirname,“/public”),
文件名:“bundle.js”,
publicPath:“/public/”
},
插件:[
新建webpack.optimize.OccurenceOrderPlugin(),
新的webpack.DefinePlugin({
“process.env”:{
‘NODE_ENV’:“‘production’”
}
}),
新建webpack.optimize.UglifyJsPlugin({
压缩机:{
警告:错误
}
}),
新SWP包装包装盒(
{
cacheId:‘火烈鸟城’,
文件名:“my service worker.js”,
stripPrefix:path.join(\uu dirname,'public')。replace(/\\\/g,“/”),
maximumFileSizeToCacheInBytes:6194304,
缩小:是的,
运行时缓存:[{
处理程序:“cacheFirst”,
urlPattern:/[.]mp3$/,,
}],
}
),
],
模块:{
装载机:[
//js
{
测试:/\.js$/,,
装载机:[“巴别塔”],
包括:path.join(uu dirname,'client')
},
//CSS
{ 
测试:/\.styl$/,,
包括:path.join(uu dirname,'client'),
加载器:“样式加载器!css加载器!手写笔加载器”
}
]
}

};非常好,他们添加了这个消息:-)现在我找到了这个主题,还有另一个主题:-这将节省我很多时间,可能是几天:“一般来说,任何事件处理程序之外的代码,在服务工作者全局范围的“顶级”中,将在每次启动服务工作者线程(/进程)时运行…”,虽然您的代码可能包含问题的解决方案,但如果您包含代码的描述(并包含一些注释)并突出显示重要的代码片段以帮助其他人理解您的答案,则会很有帮助。