Ich habe derzeit Probleme, den Spieß-Modus in Emacs zu verwenden.
Ich habe den Spieß-Modus über MELPA heruntergeladen und installiert, daher sollten alle Abhängigkeiten vorhanden sein.
Zu Testzwecken habe ich sogar die boidsjs
Demo heruntergeladen .
Ich öffne, tippe boids.js
dann M-xrun-skewer
(öffnet den Browser mit URL http://127.0.0.1:8080/skewer/demo
) und starte dann endlich M-xskewer-mode
(-> Spieß-Modus aktiviert).
Aber im Browser passiert nichts .
Was mache ich falsch?
package
skewer-mode
javascript
JacksGT
quelle
quelle
boids.js
Puffers?C-x C-k
funktioniert nicht inskewer-html-mode
Antworten:
TLDR; Sie müssen den http-Server ( simple-http ) starten und Ihre HTML-Dateien laden.
Angenommen, Sie haben eine HTML-Datei mit dem Namen
hello.html
und eine JS-Skriptdatei mit dem Namenscript.js
im/home/user/Documents/javascript
Ordner.hallo.html :
script.js :
Init.el (oder .emacs ):
Es ist Zeit, den Server zu starten M-x
httpd-start
und dieindex.html
Datei im Browser zu öffnen , indem Siehttp://localhost:8080/hello.html
. Sie sollten die Warnung im Browser erhalten und jetzt anrufenskwer-repl
.Sie können mit dem Browser über die Replik weiter interagieren. Daher wird alles, was Sie in der Replik auswerten, an den Browser übertragen. Wenn Sie beispielsweise
console.log('hey!')
die Antwort eingeben, wird diese Meldung in der Konsole des Browsers angezeigt.Wenn Sie HTML interaktiv ändern möchten (z. B. HTML-Tags von Emacs live aktualisieren), fügen Sie Ihrer init.el (oder .emacs ) Folgendes hinzu :
Wenn Sie sich jetzt in Ihrer HTML- Datei befinden, können Sie Tags mit C-M-x(
skewer-html-eval-tag
) auswerten. Diese werden sofort in Ihrem Browser aktualisiert.Beachten Sie, dass dies umgekehrt auch für CSS und CSS-Dateien gilt.
quelle
httpd-root
in Ihrer Konfiguration nicht fest codieren möchten , jederzeitM-x eval-expression
(setq httpd-root "/path/to/files")
aus Emacs heraus ausführen können .<script src="http://localhost:8080/skewer"></script>\
(kann nicht bearbeitet werden - Änderungen müssen> = 6 Zeichen sein)Anstatt die Demo auszuführen, führen Sie einfach diese minimalen Schritte aus, um sicherzustellen, dass alles korrekt funktioniert.
run-skewer
(Ein Browser wird geöffnet. Gehen Sie zurück zu myskewer.js.)alert("hello");
und tippe C-xC-eam Ende dieser ZeileAuf der Seite sollte ein Warnfeld angezeigt werden.
quelle
C-x C-e
ist die eigentliche Taste zum Drücken. bearbeite meine Antwort~/public_html
und folgen Sie den Anweisungen für "Manuelle Version" unter diesem Link. Sobald dies geschehen ist Besuch localhost: 8080 in Ihrem Browser.Falls Port 8080 bereits verwendet wird :
Sie können skewer / simple-httpd so konfigurieren, dass ein anderer Port verwendet wird, indem Sie die
httpd-port
Variable anpassen . (M-x customize-variable<ret>httpd-port
)quelle