输出打字稿中的模块

我是打字稿的新手,我正在使用Node.js 5.10.1和tsc 1.8.9。 我试图创build一个简单的ts文件,其中包含一个我可以使用的函数。

由于我使用外部模块,因为我的应用程序是基于Node.js我正在使用typescript-require第三库模块。

这是我的my-util.ts文件:

 "use strict"; var fs = require('fs'); export module MyUtil { export function isFileReadable(filePath:string, callback:Function) { fs.access(filePath, fs.R_OK, (err) => { callback(err, null); }); } } 

现在…在当前的主ts文件中是空的。 我想要求my-util.ts文件并使用函数isFileReadable

我正确的添加导出到模块MyUtil ? 我如何要求?

我会build议导出为静态方法的类。 模块现在更适合于.d.ts文件。 在es2015规范着陆之前,他们曾经是模块的总称。 以下答案假设您正在编译所有的TypeScript代码。

试试这个:

 "use strict"; var fs = require('fs'); export class MyUtil { static isFileReadable(filePath:string, callback:Function) { fs.access(filePath, fs.R_OK, (err) => { callback(err, null); }); } } 

然后使用它(使用标准节点导入),你可以这样做:

 var util = require('./my-util').MyUtil; util.isFileReadble(...) 

使用ES6导入你可以这样做:

 import {MyUtil} from './my-util'; MyUtil.isFileReadble(...)