打字稿模块作为功能

448

我用打字稿写库,必须保留一些api

_(1).seconds()

事实是_是一个模块,在先前的实现中是这样的

module.exports = valueFunction;
module.exports.seconds = seconds;

有可能在打字稿中实现相同的内容吗?

有线草原

这是考虑将其分解并进行代码完成/智能工作的一种方法。有一些选项更接近原始的JavaScript实现,但是,要使代码完成工作可能会有些挑战。

主函数将_被导出,并返回一个名为的导出类Chained正是在这里class_存在从返回值中挂起的函数

在实现文件(sample.ts)中:

export class Chained {
    constructor(private val: number) {
    } 
    seconds(): number {
        return this.val / 1000;
    }
}

export function _(val: number): Chained {
    return new Chained(val);
}

然后在使用中:

/// <reference path="sample.ts" />

import sample = require('./sample');
// create a simple alias for the exported _ function:
import _ = sample._;

var val = _(5000).seconds();
console.log(val);

输出将是5seconds除以原始号码1000

如果您需要该功能可用,例如:

_.seconds

也:

_().seconds()

当TypeScript支持Function使用属性扩展实例时,您的选择变得更加有限,而intellisense不起作用:

// this won't work well:
export function _(val:number) : Chained {
   return new Chained(val);
}

_["seconds"] = (val:number) : number => {
   return val / 1000;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打字稿,需要模块作为类

来自分类Dev

打字稿导入模块作为变量不起作用

来自分类Dev

打字稿导入功能进入现有模块的范围

来自分类Dev

打字稿:使用get / set作为公共功能

来自分类Dev

打字稿外部模块

来自分类Dev

打字稿内部模块

来自分类Dev

打字稿外部模块

来自分类Dev

打字稿指向功能

来自分类Dev

导出打字稿中的模块

来自分类Dev

打字稿找不到模块

来自分类Dev

打字稿创建模块

来自分类Dev

打字稿-无法扩充模块

来自分类Dev

打字稿找不到模块

来自分类Dev

打字稿模块加载错误

来自分类Dev

打字稿导出默认功能

来自分类Dev

包装重载的打字稿功能

来自分类Dev

打字稿中的链接功能

来自分类Dev

打字稿中的模拟功能

来自分类Dev

打字稿:从内部模块创建外部模块

来自分类Dev

打字稿:从内部模块创建外部模块

来自分类Dev

无法获得“十字路口”作为打字稿中的requirejs AMD模块加载

来自分类Dev

打字稿-不同文件中的模块功能参考-“找不到符号”

来自分类Dev

如何使用带有浏览器功能的打字稿模块?

来自分类Dev

打字稿反跳功能不调用作为参数传递的函数

来自分类Dev

从外部节点模块导入打字稿

来自分类Dev

Visual Studio代码:编译打字稿模块

来自分类Dev

打字稿:别名长模块名

来自分类Dev

如何使用打字稿编写节点模块?

来自分类Dev

打字稿无法找到Express模块