在typescript中导出模块

时间:2016-04-13 11:58:51

标签: node.js typescript typescript1.8

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

由于我使用外部模块,因为我的应用程序是Node.js,所以我使用的是typescript-require第3个库模块。

这是我的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?我该如何要求?

1 个答案:

答案 0 :(得分:1)

我建议使用静态方法将其导出为类。模块现在更适合.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(...)