Wie kann ich die nutzen und anwenden JavaScript Dekoratoren?

Ich versuche zu verstehen, wie Dekorateure in ein sehr einfaches Stück des Codes, so kann ich diese Sichtweise auf mein größeres Projekt. Nehmen cue von Addy Osmani ist Artikel hier, habe ich eine einfache Stück code wie unten.

Sagen, ich habe eine Klasse namens Cat mit meow() Methode, ich möchte, um es zu schmücken, mit einigen Protokollierung, wie unten.

class Cat {
  @logger
  meow() { console.log( ' Meeeoow! ') }
};


function logger(target, key, descriptor) {
  console.log("Cat snarling...");
  return descriptor;
}

const cat = new Cat();
cat.meow();

Wenn ich versuche, führen Sie diese gegen die Node.js -interpreter (version 9.1.0), bekomme ich die folgende Fehlermeldung.

/Users/ravindranath/Projekte/Dekorateure/index.js:2 @logger ^ 

SyntaxError: Ungültiges oder unerwartetes token 
bei createScript (vm.js:80:10) 
am Objekt.runInThisContext (vm.js:152:10) 
at-Modul._compile (Modul.js:605:28) 
bei Object.Module._extensions..js (Modul.js:652:10) 
at-Modul.load (module.js:560:32) 
bei tryModuleLoad (Modul.js:503:12) 
an der Funktion.- Modul._load (module.js:495:3) 
an der Funktion.- Modul.runMain (Modul.js:682:10) 
beim Start (bootstrap_node.js:191:16) 
bei bootstrap_node.js:613:3 

So, meine Fragen sind:

  1. Tut Node.js 9.x-support-decorator-syntax? Oder kommt es in einer zukünftigen version?

  2. Sehe ich einige express-js basiert Dekorateure auf GitHub, aber ich bin nicht in der Lage, um herauszufinden, wie erstelle ich meine eigenen Dekorateur. Kann jemand ein einfaches basic-Beispiel für das erstellen eines benutzerdefinierten Dekorateur mit Node.js?

Schreibe einen Kommentar