我有一个打字稿应用程序。它看起来像这样:
Salon.ts
export class Salon {
clients: Client [];
constructor() {
this.clients = [];
}
public addClient(c: Client) {
this.clients.push(c);
}}
Client.ts
class Client {
name: string;
surname: string;
constructor(name, surname){
this.name = name;
this.surname = surname;
}}
在我的服务器文件Serv.ts中,我希望获得带有客户端信息的发布请求并将其添加到客户端数组中:
import {Salon} from "./Salon.js";
s: Salon = new Salon();
app.post("/addClient", (req, res) => {
if (req.query.name === undefined | req.query.surname=== undefined){
res.status(400);
res.setHeader("Content-Type", "text/html; charset=utf-8");
res.end("Your name and surname please");
} else {
console.log(req.query.name, req.query.age);
s.addClient(new Client(req.query.name, req.query.surname));
}
});
当我运行我的应用程序并尝试发布请求时,它会给我一个错误“ReferenceError:s未定义”。 我该如何处理?
答案 0 :(得分:3)
这是因为在var/const/let
的帮助下错过了变量声明。您应该在let
之前添加s
,以指定您正在创建新变量,但不使用旧变量。