首页 > 解决方案 > AssertionError:不安全地转换为只读状态

问题描述

所以我有一个在浏览器中运行的带有流体的工作项目。然后,我决定将tslognp​​m 包添加到我project.json的文件中,然后使用import { Logger} from 'tslog'. 现在,当我尝试在浏览器中再次运行我的项目时,页面没有加载,我看到了这个断言:

"AssertionError: Unsafe to transition to read-only state!
    at DeltaManagerProxy.<anonymous> (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:160069:58)
    at DeltaManagerProxy.emit (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:57977:5)
    at DeltaManager.listener (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:286:56)
    at DeltaManager.emit (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:57982:7)
    at DeltaManager.set_readonlyPermissions (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:154358:18)
    at DeltaManager.close (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:154720:14)
    at Container.close (http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:152814:28)
    at http://localhost:8080/node_modules/@fluidframework/webpack-component-loader/dist/fluid-loader.bundle.js:153010:18"

我不确定这意味着什么,因为这两个动作(我添加tslog)和我得到这个错误似乎无关。我什至不确定我应该提供什么样的附加信息来帮助诊断这个问题。

这个错误是什么意思,添加 npm 模块如何导致它?

标签: fluid-framework

解决方案


这是一个令人惊讶的错误。一种可能性是它只是在系统运行时安装导致的连接断开。重新启动服务、重新安装(删除 node_modules,npm i)和启动(npm start)可能会解决问题。

该错误表明已转换为“只读”连接。(这是容器和增量服务之间的连接。)虽然这种转换应该只发生在“断开连接”的情况下,但这个断言标记了连接从只读到只读或连接到只读的情况。

如果您熟悉调试工具,您可能能够看到是哪个问题导致了您的错误。如果您可以链接更大的代码示例,这将有助于调试。


推荐阅读