TypeScript:导入的模块未编译

TypeScript: Imported Module Not Compiling

本文关键字:编译 模块 导入 TypeScript      更新时间:2023-10-29

所以我有一个简单的TypeScript文件,它导入本地TypeScript模块。当我编译它时,所有链接都很好,但编译的JavaScript文件正在尝试require我正在导入的TypeScript模块,而不是编译它。

下面是我的文件布局示例:

模块.ts

declare module "MyModule" {
  export var name: string;
}

测试.ts

/// <reference path="../../src/module.ts"/>
import MyModule = require('MyModule');
var myName = MyModule.name;
myName = 'Nick';
console.log(myName);

我试着这样编译它:

ntsc mockup.ts,也尝试了ntsc mockup.ts --module commonjs (结果相同)

它编译为:

test.js

/// <reference path="../../src/modern/needle.ts"/>
"use strict";
var MyModule = require('MyModule');
var myName = MyModule.name;
myName = 'Nick';
console.log(myName);

它还试图编译module.ts,但来自它的文件完全为空。有人能帮我弄清楚出了什么问题吗?var MyModule = require('MyModule');行显然不正确(因此文件运行错误)。我怀疑我的模块文件可能出了问题,尤其是因为它没有正确编译。如有任何帮助,我们将不胜感激。

您的文件布局应该如下所示:

测试.ts

import mod = require('./MyModule');
console.log(mod.name);

MyModule.ts

export var name = 'Hello, world!';

运行tsc --module commonjs test.ts进行编译,然后运行node test.js执行。

它还试图编译module.ts,但来自它的文件是完全空的

因为module.ts只有声明。声明只是编译器的提示,不会发出任何实际的JavaScript。