我在破折号布局中绘制了一堆东西。我想将它们保存到 html 文件中,以便稍后查看。当我重新打开保存的 html 文件时,我首先正确地看到了所有内容。但是,在 <1 秒内,页面变为空白,并且出现错误:“加载布局错误”。(见下图)
如何解决这个问题?
我在破折号布局中绘制了一堆东西。我想将它们保存到 html 文件中,以便稍后查看。当我重新打开保存的 html 文件时,我首先正确地看到了所有内容。但是,在 <1 秒内,页面变为空白,并且出现错误:“加载布局错误”。(见下图)
如何解决这个问题?
此解决方案不完全有效:
您必须完整保存您的网页。
为了防止 javascript 创建任何错误,我删除了bundle(2).js文件。
此文件包含dash_renderer
尝试与服务器交互并创建问题的函数。
<footer>
<script id="_dash-config" type="application/json">{"url_base_pathname": "/", "requests_pathname_prefix": "/"}</script>
<script src="./Dash_files/react.min.js"></script>
<script src="./Dash_files/react-dom.min.js"></script>
<script src="./Dash_files/bundle.js"></script>
<script src="./Dash_files/plotly-1.38.0.min.js"></script>
<script src="./Dash_files/bundle(1).js"></script>
<!-- <script src="./Dash_files/bundle(2).js"> --></script>
</footer>
结果与您在 ~1s 内看到的页面相同。
大缺点:失去了情节的互动性。
Dash 应用程序layout
被序列化为 JSON 并由 Dash 服务器(Flask 服务器的扩展)提供给前端。布局中包含的所有 Dash 组件都捆绑为 JS/CSS 文件。这些捆绑包也由 Dash 服务器提供给前端。
没有服务器,就没有人向前端发送 JSON、JS、CSS 包,所以什么都不会渲染。
我不确定为什么您可以在短时间内看到您的应用。我的猜测是 Dash 会在您每次运行时保存应用程序的 PNG 图像。把它想象成你在真正的反应式应用程序出现之前看到的闪屏。
看看这个关于 Dash 如何在后台工作的高级概述。