在生产版本上尝试访问我的 MERN 应用程序的登录组件时,我收到一系列如下图所示的类型错误:
我的应用程序 ( https://github.com/ahaq0/kumon_schedule ) 在本地运行良好,今天早些时候托管在 Heroku 上运行良好。
我尝试回滚我今天所做的代码中的所有更改,但无济于事。同样,我检查了 package.json(和 .lock)以查看是否更改了材质 UI 依赖项,但结果是一样的。我似乎无法弄清楚为什么它在此处的托管版本上突然停止工作。
错误行的代码如下。但是,我没有写,因为它是 Material UI 的一部分。
if (sheetManager.dynamicStyles) {
var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({
link: true
}, options));
dynamicSheet.update(props).attach();
state.dynamicSheet = dynamicSheet;
state.classes = mergeClasses({
baseClasses: sheetManager.staticSheet.classes,
newClasses: dynamicSheet.classes
});
if (sheetsRegistry) {
sheetsRegistry.add(dynamicSheet);
}
} else {
state.classes = sheetManager.staticSheet.classes;
}
sheetManager.refs += 1;
Run Code Online (Sandbox Code Playgroud)
这是我第一个部署的应用程序,尽管我尽了最大努力回滚,但我对一切如何从工作到不工作感到茫然。
编辑。我应该提到我在 Firefox 以及错误日志来自的 Chrome 中进行了测试。
编辑#2。经过大量调试后,我发现如果我回滚到通过 Heroku 提交 fccc55a5,错误就会消失。但是,如果我使用该提交创建一个新分支并尝试部署该分支,它将无法正常工作。
请看这里 https://github.com/ahaq0/kumon_schedule/compare/fccc55a5...fccc55a5
当我恢复到 Heroku 中的最后一次构建时,它将起作用。但是如果我将之前的提交合并到一个新分支并尝试部署它,它不会。