Typescript中如何使用es6语法导入功能模块

How to use es6 syntax to import a function module in Typescript

我有一个简单的模块。用于检查变量类型。

index.js

'use strict';
var typeOf = function (variable) {
    return ({}).toString.call(variable).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
};
module.exports = typeOf;

index.d.ts

export default typeOf;
declare function typeOf(value:any):string;

下面是我的使用方法。

import typeOf from 'lc-type-of';
typeOf(value);

但是代码没有按预期工作。 typeOf 函数出现未定义错误。我错过了什么吗?

当您像 Javascript 一样导出节点时:

module.exports = something;

在 Typescript 中像这样导入它:

import * as something from "./something"

在定义中

// Tell typescript about the signature of the function you want to export
declare const something: ()=> void ;

// tell typescript how to import it     
declare module something {
      // Module does Nothing , it simply tells about it's existence
}

// Export 
export =  something;