无需服务器/本地主机即可从浏览器调试 JS

无需服务器/本地主机即可从浏览器调试 JS

因此,我经常做的事情就是用 JS 编写随机脚本,而实际上这些脚本并不是应用程序的一部分。要运行它们,我只需将它们粘贴到 Chrome 或 FF 的控制台中,它们可以作为不错的 REPL,或者如果我真的需要更复杂的调试,我只需将其添加到本地主机上的测试应用程序中,然后从浏览器中浏览它。有没有办法获得浏览器的所有良好调试(断点、本地等),没有通过服务器提供服务?例如,只需将我的代码复制粘贴到控制台或其他地方?

答案1

您可以使用http://jsbin.com/

JS Bin 是一个专门设计用于帮助 JavaScript 和 CSS 人员在某些上下文中测试代码片段并协作调试代码的 Web 应用程序。

JS Bin 允许您编辑和测试 JavaScript 和 HTML(重新加载 URL 也会保持代码状态 - 新选项卡则不会)。一旦您满意,您就可以保存并将 URL 发送给同行进行审查或帮助。然后,他们可以根据需要重新保存并进行进一步的更改。

更新:

我认为您无法放置断点,因为您编写的脚本会由控制台窗口中的 jsbin 自动检查,如果刷新后出现错误,它将在调试器中暂停。

在此处输入图片描述

如果您不刷新页面,它会在您输入时警告您可能出现的错误。

在此处输入图片描述

另供您参考,您编写的脚本由 jsbin 解析,因此它存储在编辑资源中。

在此处输入图片描述

答案2

如果您安装了 php,您可以运行.vbs 脚本将内容粘贴到文件中并动态运行 php 服务器。testjs.vbs

Set objHTML = CreateObject("htmlfile")
ClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text")
Set fs= CreateObject("Scripting.FileSystemObject")
Set file= fs.CreateTextFile("testjs.html", True)    
file.WriteLine "<!DOCTYPE html><html><body><h3>JS test</h3><script>"
file.WriteLine ClipboardText
file.WriteLine "</script></body></html>"
file.Close
Set osh = WScript.CreateObject("WScript.Shell")
osh.Run "explorer http://localhost:8000/testjs.html"
osh.Run "cmd /K php -S localhost:8000"

只需将您的 JS 代码复制到剪贴板并执行该脚本。

另一方面,我的 shell:sendto 文件夹 (Windows) 上有一个 phpserver.BAT 文件,用于为每个我 SendTo->phpServer.bat 的文件夹运行一个 php 服务器。它包含上面使用的相同 cmd 命令。shell
:sendto/phpserver.bat:

explorer http://localhost:8000
php -S localhost:8000

您询问的是非服务器解决方案,但这确实非常快速且有用。要关闭即时服务器,您只需关闭 php 控制台窗口。
请注意,如果您的 PATH 环境变量中没有 php 的主目录,则必须指定 php 的完整路径。通常是 C:\Program files\php...

顺便问一下,你知道 NodeJs 吗?(在服务器上运行的 JS,带有控制台等)

答案3

对于 FireFox,FireBug 和 JSFiddle 是调试的必备工具。您不仅可以使用断点进行调试,还可以在事务过程中修改任何数据。

对于 Chrome,它是内置的:https://developers.google.com/chrome-developer-tools/... 右键单击​​元素,然后进入检查。或者,如果您想要一个单一界面,请查看 Chrome 版 Firebug Lite。

IE9/10...按F12打开开发工具,它们具有调试能力。

IE8(不知道,我从来没有检查过它)

IE7 您需要从 Microsoft 下载开发工具。

相关内容