Office.onReady() 总是在较慢的网络中抛出错误

Office.onReady() always throws error in slower network

我们已经使用 officejs API 完成了 Excel 插件的开发。在将其部署到应用程序源的过程中,我们收到反馈,当互联网连接速度较慢时,插件显示黑屏。当我们尝试调试它时,出现以下错误(当 3G Slow 选项设置为 chrome 时)。

未捕获错误:Office.js 尚未完全加载。您的应用程序必须调用“Office.onReady()”作为其加载序列的一部分(或设置“Office.initialize”函数)。如果您的应用具有此功能,请尝试重新加载此页面。

但是当互联网速度不错时,同样的插件工作正常。下面是我们用于 bootstrap angular 应用程序的一段代码。

Office.onReady().then(function() {
  platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.error(err));
});

我们仍然不确定出了什么问题,但是当我们在 Office.onReady 函数中注释单行并添加控制台时。它不会引发任何错误(我知道这是无关紧要的,但仍然是我们所做的观察)。如果有人可以帮助我们,那就太好了。提前致谢。

经过长时间的调查,我的同事发现应用程序大小对加载内部扩展有重大影响 excel 在构建脚本中添加以下代码行后,我们能够解决这个问题

ng build --base-href=/excel/ --prod=true --aot=true --buildOptimizer=true --extractCss=true --extractLicenses=true --optimization=true --output-hashing=all --sourceMap=true.

更新

上一尺码

runtime.js.map - 6.17 kb
main.js.map - 1.69 Mb
polyfills.js.map - 148 kb
polyfillses5.js.map - 567 kb
styles.css.map - 177 kb
vendor.js.map - 7.71 mb

更改构建脚本后

runtime.js.map - 1.51kb
main.js.map - 1.9Mb
polyfills.js.map - 43.1kb
polyfillses5.js.map - 123kb
styles.css.map - 61.3kb

更改构建脚本后删除了 vendor.js.map 文件,我们怀疑这是应用程序快速初始加载的原因。