Saat ini saya berjuang untuk menggunakan mode tusuk sate di Emacs.
Saya mengunduh dan menginstal mode tusuk sate melalui MELPA, jadi semua dependensi harus ada.
Untuk keperluan pengujian saya bahkan mengunduh boidsjs
demo .
Saya akan membuka boids.js
, lalu mengetik M-xrun-skewer
(membuka browser dengan URL http://127.0.0.1:8080/skewer/demo
) dan akhirnya menjalankan M-xskewer-mode
(-> tusuk-mode diaktifkan).
Tetapi di browser tidak ada yang terjadi.
Apa yang saya lakukan salah?
package
skewer-mode
javascript
JacksGT
sumber
sumber
boids.js
buffer?C-x C-k
tidak bekerja diskewer-html-mode
Jawaban:
TLDR; Anda harus memulai server http ( simple-http ) dan memuat file HTML Anda melalui itu.
Sebagai contoh, katakanlah Anda memiliki nama file HTML
hello.html
dan file skrip JS bernamascript.js
dalam/home/user/Documents/javascript
folder.hello.html :
script.js :
init.el (atau .emacs ):
Saatnya untuk memulai server:, M-x
httpd-start
dan bukaindex.html
file di browser, dengan mengunjungihttp://localhost:8080/hello.html
. Anda harus mendapatkan peringatan di browser dan sekarang meneleponskwer-repl
.Anda dapat lebih jauh berinteraksi dengan browser melalui repl. Jadi, semua yang Anda evaluasi di repl akan dikirimkan ke browser. Misalnya jika Anda mengetikkan
console.log('hey!')
balasan, Anda akan mendapatkan pesan ini di konsol peramban.Jika Anda ingin memodifikasi HTML secara interaktif (mis. Pembaruan langsung tag HTML dari emacs), tambahkan ke init.el Anda (atau .emacs ):
Sekarang ketika Anda berada di file .html Anda, Anda dapat mengevaluasi tag dengan C-M-x(
skewer-html-eval-tag
), dan ini akan segera diperbarui di browser Anda.Perlu diingat bahwa sebaliknya, ini juga berlaku untuk file CSS dan CSS.
sumber
httpd-root
dalam konfigurasi Anda, Anda dapat lariM-x eval-expression
(setq httpd-root "/path/to/files")
dari dalam emacs kapan saja.<script src="http://localhost:8080/skewer"></script>\
(tidak dapat diedit - suntingan harus> = 6 karakter)Alih-alih menjalankan demo, lakukan saja langkah-langkah minimal ini untuk memastikan semuanya bekerja dengan benar.
run-skewer
(browser terbuka, kembali ke myskewer.js)alert("hello");
dan tekan C-xC-edi akhir baris ituAnda akan melihat kotak peringatan di halaman.
sumber
C-x C-e
adalah kunci yang sebenarnya untuk ditekan. akan mengedit jawaban saya~/public_html
kemudian ikuti instruksi untuk "Versi manual" di tautan ini . Setelah selesai kunjungi localhost: 8080 di browser Anda.Dalam kasus port 8080 sudah digunakan :
Anda dapat mengonfigurasi tusuk / simple-httpd untuk menggunakan port lain dengan menyesuaikan
httpd-port
variabel. (M-x customize-variable<ret>httpd-port
)sumber