【问题标题】:WARNING in ./node_modules/@angular/compiler/src/util.js 10:24-31 Critical dependency: require function is used in a way in which dependencies./node_modules/@angular/compiler/src/util.js 中的警告 10:24-31 关键依赖项:require 函数以依赖项的方式使用
【发布时间】:2020-02-17 18:21:08
【问题描述】:

在订阅中使用 for 循环时会显示一条警告消息(当我删除 for 循环时,警告消失)。我试图将 SQL 中的时间戳转换为角度可读的数字,我找到了一种解决方法,但出现了警告

从'@angular/compiler/src/util'导入{stringify};

getUserTasks() {
    this.tasksSubscription = this.userService.getUserTasks(3).subscribe(tasks => {
      this.tasks = tasks;
      for (var ta of this.tasks) {
        let str = ta.startDate.split("[");
        let time = new Date(str[0]);
        ta.startDate = stringify(time.getTime());
      }
      this.TaskDataSource.data = this.tasks;
      this.isLoading = false;
    }
    );
  }

警告:

./node_modules/@angular/compiler/src/util.js 10:24-31 中的警告

关键依赖:require函数的使用方式是无法静态提取依赖

【问题讨论】:

    标签: angular timestamp warnings subscription


    【解决方案1】:

    我看不到其余的代码,但是当您没有正确导入某些内容时,通常会提示该警告。 我看到你在 for 循环中使用 stringify 函数,所以可能是因为这个。能否分享一下 stringify 函数的导入行?

    【讨论】:

    • 从 '@angular/compiler/src/util' 导入 { stringify };
    • 这就是问题所在。您永远不应该以角度依赖从源文件夹导入。事实上,我认为这个函数甚至没有作为公共 API 导出,所以你根本不应该使用它。回顾您的代码,您使用它将时间戳解析为字符串,这应该做完全相同的事情:ta.startDate = time.getTime().toString(); 并让您摆脱该警告。
    【解决方案2】:

    是的,我在导入 stringify 并删除它修复了错误时遇到了同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-16
      • 2022-01-08
      • 1970-01-01
      • 2018-12-21
      • 2021-06-13
      • 1970-01-01
      • 2021-01-21
      • 2018-10-10
      相关资源
      最近更新 更多