Sublime Text 之运行 js 方法[2015-5-6更新mac下执行js]
昨天说完《Sublime Text 2 绿化与汉化 [Windows篇]》,今天我们来说说怎么用st直接运行 js 吧。
群里的小伙伴一直对我的 ST 能直接运行js感到非常好奇,今天我就公布下这个“秘密”吧。。
其实非常简单,配置个编译系统即可。
可是编译系统是什么,怎么配置呢?
接下来我一步一步教你吧。。
(好像有人告诉我说有什么插件可以实现的,不过还是有noedjs的。。)
PS: 其实微软也有对 js 的实现叫做 JScript,windows下可基于 WSH 运行,不过还是 nodejs 给力。。
首先,我们下载 nodejs 这个是必备的,做为一个合格的前端,肿么能没有node呢?
哪怕你不会用,装一个装逼也是极好的。。
如果第一次接触这东西,一直点下一步就安装好了。
我们打开 cmd 看看是否能安装成功。
还记得怎么打开cmd么?
win+r 或者点 开始->运行 输入 cmd 即可。
然后输入 node -v 看看是否安装成功了。
看到一个版本号,说明安装成功,可以正常运行了。。
接下来打开你的神器 ST 吧。
选择菜单 Tools --> Build System --> new Build System...
中文版的话是 工具 --> 编译系统 --> 新建编译系统...
然后写入下面内容:
{
"cmd": ["node", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"working_dir": "${project_path:${folder}}",
"selector": "source.js",
"shell": true,
"encoding": "utf-8",
"windows": {
"cmd": ["taskkill /F /IM node.exe >nul 2>nul & node", "$file"]
},
"linux": {
"cmd": ["killall node; node", "$file"]
},
"osx": {
"cmd": ["killall node >/dev/null 2>&1; node $file"]
}
}
接着保存为 javascript.sublime-build,保存位置默认即可。
现在,我们在桌面新建一个 test.js 试试吧,写个简单的测试代码后按 Ctrl + B 或者 F7 运行。
成功了。。

mac下也运行成功了,而且是ST3。
PS:如果你mac下运行不出结果,也不报错,那就用绝对路径,比如我用brew安装的nodejs,我的配置是:
{
"cmd": ["/usr/local/Cellar/node/0.10.35_1/bin/node", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"working_dir": "${project_path:${folder}}",
"selector": "source.js",
"shell": true,
"encoding": "utf-8",
"windows": {
"cmd": ["taskkill /F /IM node.exe >nul 2>nul & node", "$file"]
},
"linux": {
"cmd": ["killall node; node", "$file"]
},
"osx": {
"cmd": ["killall node >/dev/null 2>&1; /usr/local/Cellar/node/0.10.35_1/bin/node $file"]
}
}
其实网上有很多教程,但是不少朋友说有点小问题,
比如一定要选择刚才新建的 javascript 编译系统才能执行。
其实是因为网上很多地方把 "selector": "source.js", 写成了 "selector": "source.javascript",
这样他就不能根据 后缀名 自动选择编译系统了。
还有很多人运行后得到的结果是乱码,其实这个问题确实不容易解释。。
但是我可以告诉你怎么调。
看到 "encoding": "utf-8", 这个了吧,现在是 utf-8 如果你遇到乱码的情况,改成 gbk 即可。
好了,今天水了一篇,因为要帮朋友看个问题,所以就这样吧。
有问题,或者哪里说的不对,请跟帖吧。

有朋友遇到执行后输出
[Decode error - output not utf-8]
[Finished in 1.0s with exit code 1]
这个错误的意思是 输出的不是 utf-8 的,改成 "encoding": "gbk" 看看出什么错误了。
不同的错误处理方法不同。
这种错误往往是控制台报错导致的。。
如果你是 ST3 的话建议改下这里
"cmd": ["taskkill /f /im node.exe >nul 2>nul & node", "$file"]
改成
"cmd": ["node", "$file"]
试试先。
2014-07-09 更新=========
有一个问题要注意下,被执行的文件路径不能出现中文,也就是说 xp 下,放在桌面上是执行不了的,因为路径里有 “桌面” 两中文字符。
win8 貌似没事,桌面的路径是 C:\Users\用户名\Desktop\ 只要用户名是英文的,就不会有问题了。
以防万一,放在D盘下执行最好了。
还有朋友发现 windows 2003 下运行不了,我也不知道怎么回事。
在 XP(32位) Win7(32位) Win8.1(64位) Mac下都测试了,没问题的,也许是个例吧。。
Sublime Text 之运行 js 方法[2015-5-6更新mac下执行js]的更多相关文章
- Sublime Text 之运行 ES6 (基于babel)
本文同步自我的个人博客:http://www.52cik.com/2015/10/21/sublime-text-run-es6.html 之前在博客园里写过一篇<Sublime Text 之运 ...
- 代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载
Sublime Text这款代码编辑器是Jeff 一直都在使用的,前段时间转用到版本3,因为感觉Sublime Text 3 启动速度更加快,运行更加流畅——虽然3 还是在Beta 阶段.下面就直接分 ...
- 安装Sublime Text 3插件的方法:
安装Sublime Text 3插件的方法: 朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧,谢谢! 直接安装 安装Sublime text 2插件很方便,可 ...
- [转载]代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载
http://devework.com/sublime-text-3.html Sublime Text这款代码编辑器是Jeff 一直都在使用的,前段时间转用到版本3,因为感觉Sublime Text ...
- 安装Sublime Text 3插件的方法(转自Rising的博文)
安装Sublime Text 3插件的方法: 朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧,谢谢! 直接安装 安装Sublime text 2插件很方便,可 ...
- 如何在Sublime text中运行PHP文件
如何在Sublime text中运行PHP文件 2014-06-14 17:17 3709人阅读 评论(1) 收藏 举报 phpSublime Text 一.将PHP安装目录放如环境变量PATH 二. ...
- cx_Oracle在sublime text里运行遇到 ImportError错误解决办法
如果你装完cx_Oracle之后,命令行运行没错,但是在sublime text里运行, 就遇到这个错误: ImportError: dlopen(/Library/Python/2.7/site-p ...
- Sublime Text 编译运行Kotlin
Sublime Text 编译运行Kotlin 转 https://blog.csdn.net/pirate7777777/article/details/72655293 kotlin最近是火了,所 ...
- [SublimeText] Sublime Text 2 运行 Python 脚本中文路径解决方法
在 SublimeText 中直接运行 Python 脚本,出现以下报错提示: Running python -u C:\Documents and Settings\Administrator\桌面 ...
随机推荐
- Linux 僵尸进程
Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态.例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止.如果子进 ...
- Bitcoin区块验证
目录 区块的生成 区块的验证链接 验证过程 Merkle Tree结构 区块的生成 矿工在挖矿前要组建区块 将coinbase交易打包进区块 将交易池中高优先级的交易打包进区块 优先级 = 交易的额度 ...
- 微软职位内部推荐-Senior Dev Lead - SharePoint
微软近期Open的职位: SharePoint is a multi-billion dollar enterprise business that has grown from an on-prem ...
- ejs 模板使用方法
http://embeddedjs.com/ Embedded JS Templates Embedded JS(EJS) 来源于ERB模板,且与ERB有很多相似之处.它有着与ERB相同的Tag,且包 ...
- 谈vs2013单元测试感想
(1)安装篇:这个就不用多说啦,百度一个安装包进行安装. 之前下载过vs2013当时是抱着玩玩的心态,也没有安装成功,现在作为作业重新安装,并且进行单元测试.下面就是安装vs2013的具体过程以及我遇 ...
- VS2013安装及测试练习
一.安装过程 任务:安装VS2010以上的版本. 其实很闹心,因为看了一下VS的安装包,都很大.以学校的网速,得下到什么时候?这是第一想法. 挺麻烦,也挺周折,最终下好了安装包.但是,还是出了问题,在 ...
- DOM父节点、子节点例子
父节点 <body> <ul id="oUl"> <li><a href="#">隐藏1</a>&l ...
- hao360恶意篡改IE首页——修复方法
设置浏览器首页空白或自定义后,点击开始菜单,找到IE浏览器,右键进入属性,找到shortcut里面“目标”,你会看到里面链接到的是hao360什么乱糟糟的,这才是以上问题的关键原因.删除图1中红色内容 ...
- [转帖]Programmer’s guide to the big tech companies 💻
Programmer’s guide to the big tech companies
- MySQL查询where条件的顺序对查询效率的影响
看到有资料说,where条件的顺序会影响查询的效率,根据的逻辑是: where条件的运行是从右到左的,将选择性强的条件放到最右边,可以先过滤掉大部分的数据(而选择性不强的条件过滤后的结果集仍然很大), ...