gpt4 book ai didi

node.js - 如何将 'import' 第三方 Javascript 文件写入 IntelliJ,以便我可以在 Typescript 文件中引用它

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:51 24 4
gpt4 key购买 nike

我正在尝试在 IntelliJ 中编写 Typescript,但不知道如何告诉 IntelliJ“导入”一些第三方 Javascript 文件。 IntelliJ(或者是 Node.JS?)给出了以下提示:

C:/Temp/Typescript Example Project/ts/FinancialService.ts(2,17): error TS2095: Could not find symbol 'com'.
C:/Temp/Typescript Example Project/ts/FinancialService.ts(4,31): error TS2095: Could not find symbol 'com'.

我想“导入”Thirdparty.Calculator.js:

var com = com || {};
com.thirdparty = com.thirdparty || {};
com.thirdparty.Calculator = function() {
this.add = function(a, b) {
return a + b;
};
this.square = function(n) {
return n*n;
};
};

这就是 FinancialService.ts 的样子:

class FinancialService {
calculator: com.thirdparty.Calculator;
constructor() {
this.calculator = new com.thirdparty.Calculator();
}
calculateStuff(a: number) {
return this.calculator.square(a);
}
}

IntelliJ 似乎会按照以下方式转换 Typescript,并将正确的值记录到控制台:

<html>
<head>
<script src="js/Thirdparty.Calculator.js"></script>
<script src="ts/FinancialService.js"></script>

<script>
var cal = new com.thirdparty.Calculator();
console.log("Calculator.square() is " + cal.square(9));

var fs = new FinancialService();
console.log("FinancialService.calculateStuff() is " + fs.calculateStuff(4));
</script>
</head>
<body>
</body>
</html>

如何配置我的项目以便 IntelliJ 了解 Thirdparty.Calculator.js

最佳答案

您可以将 Thirdparty.Calculator.d.ts 添加到您的项目中以进行 TypeScript 编译:

declare module com.thirdparty {
export class Calculator {
add(a: number, b: number) : number;
square(n: number) : number;
}
}

这显然需要与第三方库一起成长。

只需很少的额外努力,您就可以将其转换为 TypeScript...

module com.thirdparty {
export class Calculator {
add = function(a: number, b: number) {
return a + b;
};
square(n: number) : number {
return n*n;
}
}
}

关于node.js - 如何将 'import' 第三方 Javascript 文件写入 IntelliJ,以便我可以在 Typescript 文件中引用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com