具有typescript es6导入语法的linq javascript库
我正在使用linq(npm linq)和linq.d.ts文件,但我无法使用ES 6语法 我尝试了从“linq”导入{Enumerable}的正常具有typescript es6导入语法的linq javascript库,typescript,Typescript,我正在使用linq(npm linq)和linq.d.ts文件,但我无法使用ES 6语法 我尝试了从“linq”导入{Enumerable}的正常,但是它拒绝找到“linq”。我将描述符更改为具有声明模块“linq”,而通常它不具有引号。现在linq解决了,但是我必须使用EnumerableTic,但是输出代码需要有Enumerable而不是EnumerableTic。我想我可以通过从“linq”导入{EnumerableStatic as Enumerable}来解决这个问题,但是这无法正确解
,但是它拒绝找到“linq”
。我将描述符更改为具有声明模块“linq”
,而通常它不具有引号。现在linq解决了,但是我必须使用EnumerableTic,但是输出代码需要有Enumerable
而不是EnumerableTic
。我想我可以通过从“linq”
导入{EnumerableStatic as Enumerable}来解决这个问题,但是这无法正确解决
是否有人使用过此功能,以及如何导入它?我创建了
main.ts
文件:
/// <reference path="typings/linq/linq.d.ts" />
import { Enumerable } from 'linq';
这意味着找不到您的文件/var/www/TypeScript playway/node_modules/linq/linq.js
我会把你的问题转达给你。该问题还说:
在TypeScript 1.5中,如果源文件至少包含以下内容之一,则将其视为外部模块:
指定导出修饰符的顶级声明
任何形式的新ES6出口或进口声明
原始类型脚本导出等于表单导出=点的赋值
原始类型脚本import等于import Math=require(“Math”)形式的语句
我不认为linq符合以下要点。需要更新定义文件:
Enumerable.From
现在是Enumerable.From
。您需要使用这些更改更新定义文件declare module "linq" {
export = Enumerable;
}
module.exports=Enumerable
,因此您需要像这样导入它:
import * as Enumerable from "linq";
/// <reference path="../../node_modules/retyped-linq-tsd-ambient/linq.3.0.3-Beta4.d.ts" />
而且我能够在我的typescript代码中使用linq库,并具有intellisence
但是:与C#版本相比,类型化较弱,使用“任意”和非类型化集合而不是推断类型和类型化集合。有了typescript语言的优秀特性,应该可以更接近C#体验
注意:还有一个很有前途的库,它是由i-Typescript从头开始编写的。这似乎有更强的打字能力。不幸的是,由于一些es6(-shim)依赖关系,我无法让它在我的项目中编译/工作
还有一个很有前途的LinqTS库,我写的
从头开始打字
图书馆更名为linq-es2015。它使用了语言的所有最新特性,理论上速度更快。示例:这最初是在gitter中提出的,当时答案不多,因此将其发布在这里。嘿,是的,目前我已经按照您提到的那样做了,并将
EnumerableStatic
方法调用作为函数导出移动到模块中,并将导入*作为“linq”中的可枚举项
但是如果方法名称也过时了,那就是一种痛苦:(@Grofit:嗯,作者似乎只是将函数名称从FunctionName
重命名为FunctionName
。这还不错。只需使用linq.d.ts
文件,根据需要进行更改,然后向发送请求。(开销:最多半小时;)现在它说找不到require,所以我添加了requirejs,但现在它生成了错误,并且说,linq没有加载,我怀疑linq.js*.js文件是否包含linq模块以及ts.:|我应该怎么做?除了linq.js之外,还有没有其他包不是linq.js,以及linq是NPM软件包管理器上的linq.js?我对ve有问题r 3.0.4-beta5,我无法在ts类中导入'linqjs',但在浏览器上的linq.js文件中,转到amd if,并返回define('linqjs'..),我遵循了这里的所有步骤,一切正常:
/// <reference path="../../node_modules/retyped-linq-tsd-ambient/linq.3.0.3-Beta4.d.ts" />
declare module "linq" {
export = Enumerable;
}