TLDR;您必须启动http服务器(simple-http)并通过它加载HTML文件。
例如,假设您在文件夹中有一个名为HTML文件hello.html
和一个JS脚本文件。script.js
/home/user/Documents/javascript
hello.html:
<!doctype html>
<html>
<head>
<!-- Include skewer.js as a script -->
<script src="http://localhost:8080/skewer"></script>
<!-- Include my script.js file -->
<script src="script.js"></script>
</head>
<body>
<p>Hello world</p>
</body>
</html>
script.js:
alert('hey!');
init.el(或.emacs):
(require 'simple-httpd)
;; set root folder for httpd server
(setq httpd-root "/home/user/Documents/javascript")
现在该启动服务器了:M-x httpd-start
,并index.html
通过访问在浏览器中打开文件http://localhost:8080/hello.html
。您应该在浏览器中收到警报,然后致电skwer-repl
。
您可以通过repl进一步与浏览器进行交互。因此,您在repl中评估的所有内容都将传输到浏览器。例如,如果键入console.log('hey!')
repl,您将在浏览器的控制台中收到此消息。
如果要交互式修改HTML(例如,从emacs实时更新HTML标签),请添加到
init.el(或.emacs)中:
(add-hook 'html-mode-hook 'skewer-html-mode)
现在,当您进入.html文件时,您可以使用C-M-x(skewer-html-eval-tag
)评估标记,这些标记将在浏览器中立即更新。
相反,请记住,这也适用于CSS和CSS文件。
boids.js
缓冲区的内容吗?