我试图在我的Sublime Text 3中导入一个外部模块。外部模块Ship.ts如下所示:
export interface Ship {
name: string;
port: string;
displacement: number;
}
output.ts文件中包含**import Ship =必填项(./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;
......在尝试通过import Ship = require(“./Ship”)或import {Ship} from“./Ship”进行访问后,错误消息commonjs-require.js:15 Uncaught Error: Cannot find module "./Ship" from "undefined"
仍然显示。
更新
还尝试在output.ts的顶部包含///<reference path="Ship.ts" />
或///<reference path="./Ship.ts" />
,但没有效果。
1条答案
按热度按时间2nc8po8w1#
您正在导出一个不生成任何代码的接口,并且您试图在运行时需要它。