Angular 下划线,声明'_';本地,但不出口

Angular 下划线,声明'_';本地,但不出口,angular,service,underscore.js,angular8,Angular,Service,Underscore.js,Angular8,最近,我一直在尝试在angular 8应用程序中使用该库,但我收到了警告,在本地声明了“u”,但当我尝试在最近创建的HelperService中使用它时,它没有导出 对于安装,我尝试过: npm安装下划线 也 npm安装-gtypescript@next 然后 npm安装--保存下划线 npm安装--保存@types/下划线 警告显示在带下划线的导入中 从“下划线”导入{{} 从“下划线”导入{{[就在这里]*}*** 这是HelperService的完整代码: import { Injecta

最近,我一直在尝试在angular 8应用程序中使用该库,但我收到了警告,在本地声明了“u”,但当我尝试在最近创建的HelperService中使用它时,它没有导出

对于安装,我尝试过: npm安装下划线 也 npm安装-gtypescript@next 然后 npm安装--保存下划线 npm安装--保存@types/下划线

警告显示在带下划线的导入中 从“下划线”导入{{}

从“下划线”导入{{[就在这里]*}***

这是HelperService的完整代码:

import { Injectable } from '@angular/core';
import { _ } from 'underscore';

@Injectable({
  providedIn: 'root'
})
export class HelperService {

  constructor() { }

  public each(array, delegate) {
    return _.each(array, delegate);
  }

  public without(array, delegate) {
    return _.without(array, delegate);
  }
}

此服务位于以下路径中:

*用户//工作区//src/services/helper/helper.service.ts

这是完整的警告: 模块“../../../../../../../../../../../../../../Users//workspace//node_modules/@types/下划线”'在本地声明“”,但未导出它。ts(2459) index.d.ts(14,13):“”在这里声明。 索引d.ts(24,16):这里

如何从“下划线”中识别导入{{{};正确吗


我非常感谢您在这方面的帮助

尝试使用以下语法-

import { * as _ } from 'underscore';

添加
声明模块“下划线”
在您的
index.d.ts
文件中使用此

import  * as _ from 'underscore';

您不再需要大括号,它不是导出的成员,而是现在的默认成员。您可以直接导入:

import _ from 'underscore';

TypeScript是JavaScript的类型化超集,可编译为纯JavaScript。TypeScript有自己的语法、函数,变量可以有定义的类型,如果您想使用外部库,如
下划线.js
,则需要为TypeScript声明类型定义。有些库包含键入文件,您不需要为它们安装TypeScript的类型目标。但如果库没有.d.ts文件,则需要安装它。

解决方案:

  • 导入库

    npm安装下划线--保存

    npm安装@types/下划线--保存

  • 在tsconfig.app.json中,将下划线添加到数组“types”中:

    “类型”:[“下划线”]

  • 用法

    import*as_uu来自“下划线”


  • 请在您的答案中添加一些细节,以帮助其他人更好地理解。这并不能提供问题的答案。一旦你有足够的钱,你将能够;相反不需要,因为类型定义可用于下划线.js