我的命名空间未定义。打字稿

Ale*_*kov 5 namespaces visual-studio node.js typescript

我获得了 Visual Studio Community 2015 + Node.js 工具 我创建了“空白 Node.js 控制台应用程序”Typescript 项目

我又添加了一个 TypeScript 文件 TypeScript1.ts 并添加以下内容:

module MyModule {
    export class Calculator {
        add(x: number, y: number): number {
            return x + y;
        };
        constructor() { }
    }
}
Run Code Online (Sandbox Code Playgroud)

在主文件 app.ts 中,我放置了以下内容:

/// <reference path="TypeScript1.ts" />
console.log('Hello world');
var subject: MyModule.Calculator;
subject = new MyModule.Calculator();
var result: number = subject.add(2, 3);
console.log(result);
Run Code Online (Sandbox Code Playgroud)

它构建没有问题,但当我尝试调试/运行时,它指出:

ReferenceError: MyModule is not defined
    at Object.<anonymous> (C:\Users\User\Documents\Visual Studio 2015\Projects\NodejsConsoleApp1\NodejsConsoleApp1\app.js:8:15)
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Mar*_*cka 0

我会检查app.js内容是否包含代码TypeScript1.ts文件中的代码。我的猜测是事实并非如此。

您可以按如下方式运行tsc来修复它:

tsc --module commonjs --target es5 --outFile app.js TypeScript1.ts app.ts
Run Code Online (Sandbox Code Playgroud)

请注意该--outFile选项。