网站首页 > 技术文章 正文
前端日常开发中,我们使用喜爱的 IDE 调试 JavaScript 代码,比如我喜欢的代码编辑器有两个,Sublime Text 3 和 VS Code,前几年还使用过 Atom,偶尔我们会遇到临时需要快速分享给同事或者朋友一段代码的场景,那么在线的 JavaScript 运行环境的重要性就体现出来了。
为了解决这样的问题,业界涌现出了很多很优秀的在线编辑器。比如 JS Bin、JS Fiddle、Code Pen、Code Sandbox 等,接触前端这些年也陆陆续续发现了一些不错的其他选择,再看下浏览器收藏夹,已经有20余种。
下面我们使用20种工具执行一段经过尾递归优化过的阶乘函数
1、使用 iTerm2
在终端工具中安装 node 环境,使用 node 运行环境来执行 JS 代码是我们学习 node 时候必知必会的一件事!
2、使用 Sublime Text 3
在 Sublime Text 3 中,我们可以使用 build system 来创建构建命令,使用构建命令来快速执行 JS 代码
快捷键:CMD + B
配置文件
- 首先安装依赖 babel-cli
npm i -g babel-cli
- 新建 build system
{
"path": "/usr/local/bin",
"working_dir": "${project_path:${folder}}",
"selector": "source.js",
"encoding": "utf-8",
"shell": true,
"windows": {
"cmd": ["taskkill /f /im node.exe >nul 2>nul & node $file"]
},
"osx": {
"cmd": ["killall node >/dev/null 2>&1; node $file"]
},
"linux": {
"cmd": ["killall node >/dev/null 2>&1; node $file"]
}
}
- 效果图
3、使用 VSCode
在 VSCode 中,我们可以建立一个 task 来运行 JS,实际上是借助内置终端来执行 node 命令运行JS!
快捷键:CMD + Shift + B
- 配置文件
/.vscode/tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Run ES6",
"type": "shell",
"command": "node ${file}",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
- 效果图
4、使用浏览器控制台
我们经常使用浏览器的 Console 功能来调试 JS 代码,比如 Chrome 的 DevTools,火狐的 Web 控制台,这些我们已经不陌生了。
5、使用 Firefox 代码草稿纸
在 Firefox 浏览器中,有一个特别好用的功能叫 代码草稿纸,你可以在这里面输入一些 JS 代码执行查看结果。
快捷键:在火狐浏览器下 Shift + F4
6、使用 Chrome Sources 面板
Chrome 提供了强大的 DevTools,其中 Sources 面板允许你建立一些 Snippets 方便执行 JS 代码
快捷键:CMD + Enter 执行代码
7、使用 JS Bin
JS Bin 是一个开源的用于 debug web 应用的工具,工具面板具有 Console,可以用于执行 JS 代码
8、使用 CodePen
CodePen 是一个非常棒的在线代码编辑器,几乎可以编写所有的前端Web应用。在这里使用它来执行一段 JS 代码真的是大材小用了。
9、使用 MDN 的 “JavaScript Demo”
经常查阅 MDN 的小伙伴一定能记得,在一些 JavaScript 文档中会有一个 JavaScript Demo小工具,比如说 JavaScript 标准内置对象 Function,在这里可以执行一些 JS 代码
10、使用 PLAYCODE
PLAYCODE 提供了在线快速运行服务 Web 程序的环境!
11、使用 Flems
Flems 提供了一个 Web 开发环境,可以分享一些前端小demo
12、使用 JSitor
JSitor 是一个不错的在线执行方法。 JS 代码工具,我比较喜欢它的代码截图功能,能生存很漂亮的代码截图图片,不过目前功能还不是特别完善,比如代码的高亮暂时是个问题。
13、使用 Code Sandbox
Code Sandbox 是一个在线的可以创建Web应用,特点是可以使用一些类库模版,比如 React/Vue/Angular 是创作原型的好地方,我经常使用它来编写一些 Vue 小 Demo
14、使用 Web Maker
Web Maker 是一个可以快速在浏览器创建离线Web应用,Web Maker 还提供了 Chrome 插件,可以离线使用!
15、使用 LeetCode Playground
LeetCode 提供了优秀的 Playground 工具,支持各种语言版本切换,其中也支持 JavaScript,还能没事儿刷刷题不是
16、使用 Repl.it
Repl.it 是一个一站式可在线构建、协作的IDE,同时也提供了 Node 运行环境,还可以连接 github 使用 gist 同步代码片段!
17、使用 RunKit + npm
RunKit + npm 在 npm 上我们能发现很多优秀的库,npm 提供了一个功能,可以使用 RunKit去运行测试你的 package,当然也能测试一段代码
18、使用 StackBlitz
StackBlitz 有在线 VSCode 之称,编辑器使用的是微软开源的 Monaco Editor,和 Code Sandbox 类似,提供了一些类库模版,已经完美支持Vue!
19、使用 Plunker Next
Plunker Next 新版的 Plunker 提供了在线创建小 demo 的能力,同时也便于分享
总结
其实对于我而言,如果想运行一段代码得到测试结果,最快的方式会选用浏览器控制台,因为浏览器就是最棒的工具。
如果想要写一个 demo 放在博客上,我会选择 jsfiddle、codepen、codesandbox,这里提供了写demo需要的一切。
如果想分享漂亮的代码片段,我会使用 Carbonize 生成一张图片,就像博文开头的那张图片。
使用在线编辑器的意义我觉得在于快捷、便于分享与协作,而最爱的其实还是VSCode。
没准儿你正在编写你的 playground,或者你有更好的工具,希望留言和大家一起分享!
感谢您的阅读,如果对您有帮助,欢迎关注"CRMEB"头条号。GitHub上有我们开源的商城项目,知识付费项目,均是基于PHP+vue开发,欢迎 Start、Fork,使用,关注我们保持联系!
猜你喜欢
- 2024-09-29 Hexo历险记之二多系统安装Node(小人历险记森林深处电脑版免安装)
- 2024-09-29 Win7环境下成功安装Nodejs18.16.1
- 2024-09-29 个人云笔记系统搭建(针对window操作系统)
- 2024-09-29 Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
- 2024-09-29 一个优雅的将NodeJS项目打包成跨平台可执行文件的神器——pkg
- 2024-09-29 Skywalking的编译打包(skywalking java)
- 2024-09-29 windows 安装 node-canvas(windows安装node环境)
- 2024-09-29 Gatlab 10.4.6中挖矿病毒处理与升级过程记录
- 2024-09-29 json - server:mock接口工具使用(mock-server.js)
- 2024-09-29 用一次就会爱上的cli工具开发(cli 工具)
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 529℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 450℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)