2017-09-28 3 views
0

Ich habe eine Typoskript-App. Es sieht wie folgt aus:TypeScript ReferenceError: ist nicht definiert

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; 
}} 

Und in meinem Server-Datei Serv.ts ich Post-Anfragen mit Client-Informationen erhalten möchten, und fügen Sie das client-array:

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)); 
} 
}); 

Und wenn ich meine App laufen und versuchen, Post-Anfrage zu machen, geben Sie mir eine Fehler "ReferenceError: s ist nicht definiert". Wie gehe ich damit um?

Antwort

1

Das ist wegen verpassten Variablendeklaration mit Hilfe von var/const/let. Sie sollten einfach let vor dem s hinzufügen, um anzugeben, dass Sie die neue Variable erstellen, aber nicht die alte verwenden.

Verwandte Themen