Was ist der Unterschied zwischen .jsx und .js?

Ich bin neu bei Adobe Scripting – was ist der Unterschied zwischen .jsx und .js?

Antworten (1)

Die von Adobe verwendete Skript-Engine heißt ExtendScript, ein Dialekt von JavaScript, oder genauer gesagt EcmaScript. Es gibt viele JavaScript-Dialekte mit verschiedenen Bibliotheken und einigen einzigartigen Präprozessoranweisungen. ExtendScript verfügt über eine Reihe von Bibliotheken, die anderswo nicht verfügbar sind. JavaScript hat bestimmte Basisfunktionen, die sie ähnlich und oft kompatibel machen, aber sie haben unterschiedliche API-Details. ExtendScript hat also viele verschiedene Befehle von JavaScript in einem Browser.

Warum eine andere Erweiterung? Einfach ausgedrückt, ermöglicht dies dem Windows-Betriebssystem zu erkennen, dass Sie beabsichtigen, das Skript mit dem Interpreter von Adobe auszuführen. Unter OS X gibt es einen etwas ähnlichen Mechanismus. Unter Windows startet beispielsweise eine Datei mit der Erweiterung *.js standardmäßig Microsofts Skriptinterpreter namens JScript, der wiederum ein Dialekt von EcmaScript mit Bibliotheken im Gegensatz zu ExtendScript, im Gegensatz zu Browsern und im Gegensatz zu NodeJS ist ...

(JScript kann auch mit Adobe-Software kommunizieren, aber über eine COM-Bridge, genau wie Visual Basic, aber im Gegensatz zu ExtendScript kann es auch mit viel mehr Windows-Komponenten wie Betriebssystemen und viel mehr installierter Software wie Excel oder einer CAD-App zum Beispiel kommunizieren, aber es ist IPC ist etwas anders)

Eigentlich spielt die Erweiterung keine Rolle ... solange Sie sagen, welche Software was mit der Datei machen soll. Es ist einfach bequemer, eine automatische Dateiverwaltung zu haben.

Obwohl die Erklärung richtig ist, beachten Sie, dass es in gewisser Hinsicht auch weniger bequem sein kann, .jsx zu verwenden: Unter OS X können Sie beispielsweise nicht über Spotlight nach Text in .jsx-Dateien suchen, während Sie dies bei .js-Dateien können. Finder zeigt Ihnen auch keine Textvorschau mit .jsx-Dateien an, während dies bei .js-Dateien der Fall ist. Aus diesen Gründen bin ich dazu übergegangen, nur .js zu verwenden, wenn ich neue ExtendScript-Skripte entwickle, da ich es bequemer finde.
@mdomino Sie können wahrscheinlich jsx als Textdatei für die Finder-Suche registrieren. Dasselbe passiert in Windows, aber es ist ziemlich trivial, jsx als eine der Dateien hinzuzufügen, die eine Vorschau anzeigen und als Text suchen, der meiner Meinung nach eine bessere Option ist. Jetzt könnte ich dasselbe nur mit AI-Dateien machen und sie davon überzeugen, eine Vorschau als PDF anzuzeigen, aber niemand scheint zu wissen, wie das geht.
Ich würde hier anfangen, wenn ich jsx auf mac @mdomino in durchsuchbar ändern wollte
Danke, das wusste ich nicht. Ich habe jedoch keine Nachteile bei der Verwendung von .js anstelle von .jsx festgestellt, daher denke ich, dass ich dabei bleiben werde (außerdem verwende ich Sublime, um meine ExtendScript-Skripte zu entwickeln).
@mdomino Nun, wie gesagt, es spielt keine Rolle, was Ihre Erweiterung ist. Für einen durchschnittlichen Benutzer kann es jedoch besser sein, als jsx zu bleiben, auch ist es nützlicher, wenn Sie Javascripts für mehrere Plattformen entwickeln, wenn Sie immer nur ExtendScript tun, dann ist das kein Problem, aber wenn Sie jemals anfangen, Node.Js zu verwenden , erhalten Sie ein zusätzliches Verbot oben drauf. Aus diesem Grund würde ich an Ihrer Stelle für jsx konfigurieren und den großartigen Standardeditor für jsx so festlegen, dass Sie nicht versuchen, etwas auszuführen, das für NodeJs oder einen Browser im Adobe-Kontext bestimmt ist. Außerdem erleichtert es das Teilen mit Anfängern.
Gutes Argument. Da ich in der Tat immer nur ExtendScript mache, bleibe ich bei .js, aber für den durchschnittlichen Benutzer könnte .jsx sinnvoller sein. Ich habe nur versucht, darauf hinzuweisen, dass man .jsx-Dateien nicht durchsuchen kann (zumindest standardmäßig).