我正在尝试在Sublime Text 3中导入外部模块。外部模块 Ship.ts 是以下内容:
export interface Ship {
name: string;
port: string;
displacement: number;
}
output.ts 文件包含 import Ship = require(“./ Ship”); ,此文件将保存并构建为无错误。 tsconfig.json 如下:
{
"compileOptions": {
"module": "commonjs"
},
"files": [
"./Ship.ts"
]
}
然而,当查看内部和索引php页面时:
<html>
<head>
<script src="node_modules/commonjs-require/commonjs-require.js"></script>
<script src="output.js"></script>
</head>
<body>
Hello TypeScript
</body>
</html>
...有一个控制台错误说commonjs-require.js:15 Uncaught Error: Cannot find module "./Ship" from "undefined"
。 .ts和.js文件以及tsconfig.json文件都在同一目录中。任何帮助表示赞赏。
更新
即使我将 Ship.ts 的内容更改为:
export function greet(): void {
console.log("Hello Ship");
}
...转发到:
"use strict";
function greet() {
console.log("Hello Ship");
}
exports.greet = greet;
...在尝试通过导入Ship = require(“./ Ship”)或导入{发货>后,错误信息commonjs-require.js:15 Uncaught Error: Cannot find module "./Ship" from "undefined"
仍未启用来自“./Ship”。
更新
还尝试在 output.ts 的顶部加入///<reference path="Ship.ts" />
或///<reference path="./Ship.ts" />
,但无济于事。
答案 0 :(得分:0)
您正在导出一个不生成任何代码的接口,并且您试图在运行时要求它。