如何在打字稿中正确创建和导入节点模块

how to properly create and import node modules in typescript

如何在 typescript 中创建节点模块以导入到其他 typescript 文件中?我搜索了又搜索,但找不到如何正确执行此操作。

我想创建一个 typescript 模块来导出一些函数,我可以使用 require 将这些函数导入到我的 app.ts 中。我正在使用 'typescript-require'。这是我正在做的(简化):

app.ts

require('typescript-require');
import config = require('./config');

console.log(config.GetDefaultConfiguration());

config.ts

module config {
    var defaultConfig = "default configuration";
    export function GetDefaultConfiguration() {
        return defaultConfig;
    }
}

config.d.ts

declare module config {

}

但我得到 "TypeError: Object # has no method 'GetDefaultConfiguration'"。

我错过了什么?

I am using 'typescript-require'

不要使用它。只需从 TSC 编译为 JS,然后 运行 JS。

I get "TypeError: Object # has no method 'GetDefaultConfiguration'".

您需要 export 来自 config.ts

var defaultConfig = "default configuration";
export function GetDefaultConfiguration() {
     return defaultConfig;
}

注意:不要将内部模块外部模块一起使用。如果您不清楚其中的区别。看这个:https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1