typescript - 带有 typescript es6 导入语法的 linq javascript 库

标签 typescript

我正在使用 linq (npm linq) 和 linq.d.ts 文件,但我无法使用 ES 6 语法让它工作。

我尝试了正常的 import {Enumerable} from "linq" 但是它拒绝找到 "linq"。我将描述符更改为具有 declare module "linq" 而通常它不会有引号。现在 linq 解决了,但我必须使用 EnumerableStatic,但输出代码需要有 Enumerable 而不是 EnumerableStatic。我以为我可以通过执行 import {EnumerableStatic as Enumerable} from "linq" 来解决这个问题,但是这无法正确解决。

有人用过这个吗?如何导入?

最佳答案

需要更新定义文件:

  1. 文档和定义文件的函数名称大小写与 3.0.5 版本不同。例如 Enumerable.From 现在是 Enumerable.from。您需要使用这些更改来更新定义文件。
  2. 定义文件目前不允许外部模块。添加这个:

    declare module "linq" {
        export = Enumerable;
    }
    
  3. 因为它在 JavaScript 代码中使用了 module.exports = Enumerable,所以您需要像这样导入它:

    import * as Enumerable from "linq";
    

关于typescript - 带有 typescript es6 导入语法的 linq javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349091/

相关文章:

angular - typescript 以循环方式将元素插入数组

angular - 以 Angular 6 获取 IFrame img

reactjs - 从传递给通用 React 组件的回调返回的对象属性的 Typescript 验证?

javascript - Angular 6/rxjs of/map 等中的导入不正确

typescript - 推断传递的属性名称的值

javascript - 将 import() 转换为同步

javascript - Angular 使用从 Assets 文件夹导入

typescript - 使用 React Intl 和 Typescript 检查消息是否为空

javascript - 如何对 Map 类型的对象进行字符串化

javascript - TypeScript 意外标记,需要构造函数、方法、访问器或属性