具有动态值的 Angular index.html |网络工作者

2024-01-06

直到最近,我们还使用express.js 来为Angular 提供index.html,因为我们需要在应用程序启动之前从数据库填充动态变量。

<script> window .__ envs = {{{json envs}}} </script>

然而,新的Angular 7通过web-worker缓存源index.html。

因此,当我加载网页时,它不会正确加载,直到我单击重新加载。

我尝试从网络工作者中禁用index.html。什么都没发生。

我试图关闭网络工作者并将其从各处删除。现在我不必使用硬重新加载,但第一次加载仍然会显示源文件,而不是通过express.js修改的文件

1)源为什么要加载源文件以及如何获取源文件?

2)我可以在网络工作者中设置它吗?


您可以在模块中使用 APP_INITIALIZER 并使用工厂来加载提供程序服务,如下所示:

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpModule
  ],
  providers: [
    ServiceProvider, 
    { provide: APP_INITIALIZER, useFactory: ServiceProviderFactory, deps: [ServiceProvider], multi: true }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

您的服务将数据作为服务获取:

@Injectable()
export class ServiceProvider{
constructor(private http: Http) {

    }

getInitialData(){

 // your fetch logic from API
 }
}

您的服务工厂(添加到模块中):

export function ServiceProviderFactory(provider: ServiceProvider) {
  return () => provider.getInitialData();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有动态值的 Angular index.html |网络工作者 的相关文章

随机推荐

  • IFormFile 的 Asp.Net Core swagger 帮助页面

    我正在尝试设置 swagger 来测试具有 IFormFile 属性的模型 例如我有下一个 api 方法 HttpPost public ApiResult
  • 客户端密码哈希

    我和我的一个朋友正在讨论是否应该在将 Web 应用程序用户的密码发送到我们的服务器之前对其进行预哈希处理 我知道有多个问题已经解决了这个主题 但它们都是关于将其安全地传输到服务器 我们的想法不是关于传输安全性 我们使用 SSL 我们希望对客
  • 每个配置文件中的部分只能出现一次

    所以昨天这段代码工作得很好 今天当我们去运行该网站时 我们收到了这个配置错误 我浏览了提出的其他问题 尽管它们很有帮助 但我无法确定我在哪里重复了某个部分 Here is my error http img photobucket com
  • 如何调整 Bootstrap 3 内联表单宽度?

    我有一个依赖 Bootstrap 3 的表单 完整的工作示例 http jsfiddle net x7vk7 2 http jsfiddle net x7vk7 2 要点是我有两列内容 第一列是col lg 4 第二个是col lg 8 第
  • Beyond Compare - 自动合并工作副本中的“冲突”文件(如果可能)

    我最近在 Git 中合并了两个分支 它们都开发了太长时间 因此两个分支上都有很多文件被更改 因此 Git 将它们标记为 冲突 一旦我在 Beyond Compare 中打开它们 就 不再有冲突 因为它足够聪明 可以解决所谓的冲突 因此 只需
  • Jupyter 笔记本 CPU 使用率低

    我注意到有些单元需要很长时间才能在我的 Jupyter Notebook 上完成执行 查看任务管理器时 我发现 python 进程仅使用了大约 4 的 CPU 我正在使用Python 3 6 2 我使用的是 Windows 但使用 Bash
  • 使用 float 在 3 列上进行 div

    我试图将 6 个不同高度的 div 放置在 3 列上 我对左侧和右侧的 div 使用 float 属性 对中央 div 使用 margin 0 auto 使用clear属性 我将第二行div放置在第一行之下 但我希望每个div都位于具有相同
  • 尝试在 Oracle SQL 中选择特定行时返回多行

    我试图从 Oracle SQL 中特定行的字段 tid 返回一个值 但我得到了一个奇怪的行为 首先 我尝试了这个 select tid from select tid rownum as rn from select tid from Tr
  • 使用 Word.Interop 创建多级项目符号列表

    我需要通过创建多级项目符号列表Microsoft Office Interop Word我目前正在 再次 与它的 可怕的 API 作斗争 我刚刚使用编程语言 C 在 Microsoft Office Word 2010 的 VSTO 文档级
  • 我可以在 CSS 中将 Twitter Bootstrap 脚手架跨度称为 mixin 而不是类吗?

    我明白我可以添加一个class span3 to a div 但是如果我想通过 LESS 将等效属性赋予另一个类怎么办 Example div class span3 This width is span3 div div class an
  • 是否可以在 python 中 pickle itertools.product ?

    我想保存以下状态itertools product 我的程序退出后 可以用酸洗来做到这一点吗 我计划做的是生成排列 如果该过程被中断 键盘中断 我可以在下次运行程序时恢复该过程 def trywith itr try for word in
  • 如何防止我的计时器在执行回调之前进行 GC 收集?

    我需要创建一堆计时器作为局部变量来执行以下操作 void Foo Timer t new Timer myTimerCallback null 1000 Timeout Infinite 不幸的是 其中一些在 1 秒后调用 myTimerC
  • 冒号 (:) 运算符的作用是什么?

    显然 冒号在 Java 中有多种使用方式 有人介意解释一下它的作用吗 例如这里 String cardString for PlayingCard c this list lt cardString c n 你会怎么写这个for each以
  • 如何在 docker ubuntu 基础上启动 cron?

    我已经通过安装了 cronapt get install cron 尝试启动 cron 失败 如预期 因为upstart不运行 正确启动 cron 的命令行是什么 即它将读取用户的 crontab 将读取 etc crontab 等 请注意
  • 自动将数组映射到列表

    class A public List
  • 根据目录切换 npm 注册表

    我最近开始为节点进行开发 我工作的公司有一个内部 npm 注册表 我想知道如何根据我的开发位置使用不同的注册表设置 为了说明这一点 我有一个如下所示的目录结构 Code My Projects Proj 1 Proj 2 My Compan
  • Jpa prepersist 回调未在父级上调用

    My code Entity Inheritance strategy InheritanceType TABLE PER CLASS public class SiteMessage implements Identifiable Pre
  • C++11 相当于 boost shared_mutex

    是否有 C 11 的等效项boost shared mutex 或者在 C 11 中处理多个读取器 单个写入器情况的另一种解决方案 我尝试过但没能得到shared mutex进入C 11 它已被提议作为未来的标准 该提案是here http
  • “高 ASCII”字符的正确技术术语是什么?

    引用 高 ASCII 或 扩展 ASCII 字符的技术上正确的方法是什么 我指的不仅仅是128 255的范围 而是0 127范围之外的任何字符 它们通常被称为变音符号 重音字母 有时被随意称为 国家 或非英语字符 但这些名称要么不精确 要么
  • 具有动态值的 Angular index.html |网络工作者

    直到最近 我们还使用express js 来为Angular 提供index html 因为我们需要在应用程序启动之前从数据库填充动态变量 然而 新的Angular 7通过web worker缓存源index html 因此 当我加载网页时