1

我在 LiveScript 中编程并使用外部模块prelude-ls来执行链接、映射、折叠、grep 或其他功能概念的操作。

在 LiveScript 中,我可以做到

_ = require 'prelude-ls'
[1 2 3] |> map (*2) |> filter (> 4) |> fold (+)

但如果我这样做了,在 TypeScript 中

import _ = require('prelude-ls');

我收到以下错误:

# => Cannot find external module 'prelude-ls'

但我已经安装了这个模块,并将它与 LiveScript 一起使用。在 TypeScript 中是否有任何方法或类似的库可以使用?

4

1 回答 1

3

这不是因为该prelude-ls模块不存在——而是因为 TypeScript 没有关于它的信息。

我已经检查过,但找不到已经制作的定义文件 - 但您可以从创建一个名为的文件开始,prelude-ls.d.ts然后添加您使用的功能

例如...

declare module PreludeLS {
    export function map<T>(func: (item: T) => T, data: T[]) : void;
}

export = PreludeLS;

这将允许您使用该map功能:

import _ = require('prelude-ls');

_.map(function (x: number) { return x + 2; }, [1, 2, 3]);

_.map(function (x: string) { return x + '__' }, ['A', 'B', 'C']);
于 2014-09-12T12:35:15.080 回答