在打字稿中导出模块
Exporting modules in typescript
我是 typescript 的新手,我正在使用 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
?我如何要求它?
我建议使用静态方法将其导出为 class。模块现在更适合 .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(...)
我是 typescript 的新手,我正在使用 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
?我如何要求它?
我建议使用静态方法将其导出为 class。模块现在更适合 .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(...)