获取脚本标签评估的进度?

Get progress of script tag evaluation?

我有一个很大的 javascript 来自正在加载的 webpack 构建: <script src="application.bundle.js"></script>

我想在脚本加载时添加一个进度条。在 chrome 开发工具时间轴中,我可以看到大部分加载时间都花在这里:"Evaluate Script",这是可以理解的。有什么方法可以取得进展或至少通过完成事件来了解脚本何时完成评估?

我可以在应用程序脚本中做一些事情,比如 window.appLoaded = true 并定期查找。有没有办法在不修改应用程序脚本的情况下做到这一点?

如果你想在文件加载后回调,我建议你使用完成时使用回调函数的函数调用异步加载它。

您可以在调用加载程序函数之前放置一个进度微调器,回调将其取消。像这样:

function myLoadScript( ) {
    showMyProgress();
    loadScript( 'application.bundle.js', hideMyProgress );
}

此页面显示了一些 load scripts asynchronously 的方法。那里显示了一个通用的 loadScript() 函数。