Die Struktur des Modul-Identifikators oder wie es interpretiert werden soll ist not part of the ECMAScript specification. Die Bedeutung der Modulkennung wird durch den Modullader definiert, d. H. Der Teil des Systems, der den Wert tatsächlich annimmt und ihn verwendet, um das entsprechende Modul zu finden.
Natürlich hat Node.js einen Modullader. Es ist Node.js, dass defines that module identifiers are either names of shared modules or paths to files.
Allerdings hat die +
(oder ~
) hier keine Bedeutung in Node.js. Ich kann nur annehmen, dass das Projekt einen Modulbündler oder etwas Ähnliches verwendet, das Moduldateien und ihre Abhängigkeiten verarbeitet. Es ist dieser Teil des Systems, der die Bedeutung von +
definiert.
Ich denke, dies ist ein Punkt ist, dass viele Menschen nicht verstehen: Während ES6 eine Standardsyntax für erklären Abhängigkeiten definiert, die Auflösung des Modul-Identifikator des eigentlichen Modul ist nicht Teil der Spezifikation und kann zwischen Laufzeiten/Umgebungen sehr unterschiedlich sein. Angesichts der Beliebtheit von Node.js werden die meisten wahrscheinlich kompatibel sein mit dem CommonJS module system (was Node verwendet), aber wiederum gibt es keinen Standard dafür.
Wenn die App webpack oder browserify oder einen anderen Modulbündler verwendet, müssen Sie sich die Konfigurationsdatei oder Dokumentation ansehen. Diese Symbole haben in ECMAScript oder Node keine Bedeutung. –