0
考虑以下Node.js的项目结构创建打字稿接口现有的Node.js模块VS代码智能感知
function Customer() {
this.firstname = null;
this.lastname = null;
this.orders = []
}
Customer.prototype.addOrder = function (order) {
this.orders.push(order);
};)
module.exports = Customer
在./index.js
,entities/customer.js
被使用:
let Customer = require('./entities/customer');
let customer = new Customer();
customer.firstname = "John";
customer.lastname = "Doe";
customer.addOrder({ amount: 5, product : 'Apple' })
我该如何声明一个TypeScript interface
来支持VS代码智能感知,不仅显示addOrder(param: any): void
,我将在哪里放置它的一切? 我不想有一个TypeScript实现来替换当前的Customer
模块。
当然,我可以使用JSDoc评论(由于在VS代码莎莎语言服务):
/**
* @param {{amount: number, product: string}} order
*/
但我感兴趣的打字稿版本的了解。
作为奖励,我想成为Order
类型的order
。
谢谢,但这是宣布我不想要的实现。订单仍然是任何类型。 –