小编Nic*_*ert的帖子

Angular/AngularJS升级应用程序在后台浏览器选项卡时无响应

我有一个Angular/AngularJS升级应用程序,目前正在将所有内容从AngularJS迁移到Angular.这是一个相当大的项目,所以我绝对需要采用升级方式.

我使用@ uirouter/angular-hybrid并且具有仍然是AngularJS(导航和东西)的根状态和子视图.在这个子视图中,我现在正在慢慢地将所有组件升级到Angular.出于性能原因,我不得不使用downgradeModule()(https://angular.io/guide/upgrade-performance)而不是UpgradeModule.

对于UI组件,我使用Angular Material 2.

这么多的设置,现在问题/问题:

当带有页面的选项卡在后台并且您稍后返回该页面时(至少5到10分钟),整个页面都会滞后并且没有响应.您离开的时间越长,标签位于背景中,滞后时间越长.

我已经尝试/发现的内容:

  • 似乎已经注册了事件,但由于选项卡在后台,因此它们不会被执行,但是一旦您返回选项卡,它们就会同时执行.这是分析的屏幕截图剖析截图
  • 删除角度变化检测和使用ngZone: 'noop'无效
  • 禁用所有动画无效
  • 启用Angular生产模式可以稍微改善它(也可能是幻觉),但问题仍然存在
  • 我在Chrome中开发,其他浏览器(例如Firefox,Safari)也存在问题
  • 仅当路由器视图组件是Angular组件时才会发生,AngularJS视图组件似乎不受影响

我目前正在开发一个干净的示例应用程序来重现问题,并为进一步测试提供更多背景信息.我很快就会添加它.

Lib版本

Angular:6.1.0

AngularJS:1.7.2

zone.js:0.8.26

@ uirouter/angular-hybrid:6.0.0

angularjs angular-ui-router angular-upgrade angular

22
推荐指数
1
解决办法
803
查看次数

适用于旧组件的 Angular Material 15 种样式

升级到 Angular 15 后,我想使用旧组件以便之后进行持续迁移。然而,遗留组件并不具有所有样式,并且看起来格式错误。

我使用ng updateAngular 14 到 15 的迁移,并调整主题以使用文档中提到的新方式(https://material.angular.io/guide/theming

我的输入目前看起来像这样
输入字段损坏

我正在使用自定义的角度材质主题

angular-material angular angular15

14
推荐指数
3
解决办法
2万
查看次数

如何在生产环境中使用SSR正确运行gatsby

我很难找到有关如何在自定义生产环境(不是 Gatsby Cloud 或 Netlify)中正确设置使用 SSR(服务器端渲染)的 gatsby 端的任何有用文档

在他们的 SSR 文档中有一个部分

服务器端渲染需要一个正在运行的 NodeJS 服务器。您可以将运行 gatsby 服务器的 NodeJS 放在像 Fastly 这样的内容交付网络 (CDN) 后面,但这也需要额外的基础设施(例如监控、日志记录和崩溃恢复)。

所以我的总体想法是将这些全部放入 Docker 容器中并运行gatsby serve

但是根据gatsby servehttps://www.gatsbyjs.com/docs/reference/gatsby-cli/#serve)的文档,这不应该用于生产

在 Gatsby 站点的根部,提供站点的生产版本以进行测试

使用服务生产可以吗?使用时需要注意哪些安全问题?是否有详细的文档如何在自定义环境中进行设置?

node.js reactjs gatsby

6
推荐指数
1
解决办法
2491
查看次数

Cassandra 将 TTL 添加到现有条目

如何更新整个表并为每个条目设置 TTL?

当前场景(Cassandra 2.0.11):

桌子:

CREATE TABLE external_users (
  external_id text,
  type int,
  user_id text,
  PRIMARY KEY (external_id, type)
) 
Run Code Online (Sandbox Code Playgroud)

目前,该表中有 ~40mio 条目,我想添加一个 TTL,例如 86 400 秒(1 天)。对于使用 TTL(86400) 或更新当前条目的新条目没有问题,但是我如何为每个现有条目应用 ttl?

我的想法是选择所有数据并用一个小脚本更新每一行。我只是想知道是否有更简单的方法来实现这一点(因为即使进行批量更新,这也需要一段时间并且需要付出很大的努力)

提前致谢

ttl cassandra cqlsh cassandra-2.0

3
推荐指数
1
解决办法
1490
查看次数