2

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

由于我使用的是外部模块并且我的应用程序是基于 Node.js 的,因此我使用的是 typescript-require 3rd 库模块。

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

4

1 回答 1

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(...)
于 2016-04-13T12:15:04.767 回答