Atualmente, estou lutando para usar o modo espeto no Emacs.
Eu baixei e instalei o modo espeto via MELPA, portanto todas as dependências devem estar no local.
Para fins de teste, eu até baixei a boidsjs
demo .
Vou abrir boids.js
, digitar M-xrun-skewer
(abre o navegador com URL http://127.0.0.1:8080/skewer/demo
) e, finalmente, executar M-xskewer-mode
(-> modo espeto ativado).
Mas no navegador nada acontece.
O que estou fazendo errado?
package
skewer-mode
javascript
JacksGT
fonte
fonte
boids.js
buffer?C-x C-k
não funciona dentroskewer-html-mode
Respostas:
TLDR; Você precisa iniciar o servidor http (http simples ) e carregar seus arquivos HTML através dele.
Por exemplo, digamos que você tenha um arquivo HTML nomeado
hello.html
e um arquivo de script JS nomeadoscript.js
na/home/user/Documents/javascript
pastahello.html :
script.js :
init.el (ou .emacs ):
É hora de iniciar o servidor:, M-x
httpd-start
e abrir oindex.html
arquivo no navegador, visitandohttp://localhost:8080/hello.html
. Você deve receber o alerta no navegador e agora ligarskwer-repl
.Você pode interagir ainda mais com o navegador através da substituição. Portanto, tudo que você avaliar na repl será transmitido para o navegador. Por exemplo, se você digitar
console.log('hey!')
o repl, receberá esta mensagem no console do navegador.Se você deseja modificar interativamente o HTML (por exemplo, tags HTML de atualização ao vivo do emacs), adicione ao seu init.el (ou .emacs ):
Agora, quando você está no seu arquivo .html, poderá avaliar as tags com C-M-x(
skewer-html-eval-tag
), que serão atualizadas imediatamente no seu navegador.Lembre-se de que, inversamente, isso também se aplica a arquivos CSS e CSS.
fonte
httpd-root
na sua configuração, poderá executar aM-x eval-expression
(setq httpd-root "/path/to/files")
partir do emacs a qualquer momento.<script src="http://localhost:8080/skewer"></script>\
(não pode editar - edições deve ser> = 6 caracteres)Em vez de executar a demonstração, execute estas etapas mínimas para garantir que tudo esteja funcionando corretamente.
run-skewer
(um navegador abrir, volte para myskewer.js)alert("hello");
e cliqueC-xC-e no final dessa linhaVocê deve ver uma caixa de alerta na página.
fonte
C-x C-e
são as teclas reais a serem pressionadas. editará minha resposta~/public_html
e siga as instruções para "Versão manual" neste link. Feito isso, visite localhost: 8080 no seu navegador.Caso a porta 8080 já esteja em uso :
você pode configurar o skewer / simple-httpd para usar outra porta, personalizando a
httpd-port
variável. (M-x customize-variable<ret>httpd-port
)fonte