我正在学习TypeScript,作为一种练习,我想尝试在我的TS应用程序中使用JavaScript代码。
例如,这是您的.js文件:
SequenceType
我已设法使用以下代码:
// Test.js
foo = function() {
console.log("imported from Test.js");
};
// Test.d.ts
module.exports.foo = function() {
console.log("imported from Test.js");
};
// HelloWorld.ts
declare module 'Test' {
export function foo(): void;
}
此代码执行正常但产生以下错误,我无法摆脱:
import * as t from './Test';
t.foo();
此外,如果在Test.js中使用了Error:(1, 20) TS2306:File 'C:/Users/2512/Projects/TypeScript/Test.d.ts' is not a module.
,则无法在Test.js中将module.exports
称为foo()
,因为它会产生foo();
错误。
我的主要问题是,在没有对现有.js文件进行任何修改的情况下,将.js代码导入.ts的最新实践是什么?
我花了很多时间寻找答案但却找不到理想的解决方案。谢谢。
P.S。我在项目中安装了打字输入,因此我认为foo is not defined
中不需要/// <reference path="Test.d.ts" />
。