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\桌面 ...
随机推荐
- 简单测评拨号VPS——云立方&淘宝卖家
做爬虫的同学不可避免地要使用代理IP,除了各网站公布的免费代理IP外,我们还可以选择拨号VPS,本文简单对两家(类)拨号VPS提供商进行测评,如有差错,欢迎指出,非常感谢. 使用过程 云立方 第一次听 ...
- Scrapy框架中的CrawlSpider
小思考:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二: ...
- 基于tensorflow2.0 使用tf.keras实现Fashion MNIST
本次使用的是2.0测试版,正式版估计会很快就上线了 tf2好像更新了蛮多东西 虽然教程不多 还是找了个试试 的确简单不少,但是还是比较喜欢现在这种写法 老样子先导入库 import tensorflo ...
- B. Lost Array
链接 [http://codeforces.com/contest/1043/problem/B] 题意 自己点开链接看 分析 1到n枚举某个值,判断是否满足并统计 判断方法:假设x序列成立,那么后面 ...
- C# 词频统计 东北师范大学 软件项目管理 第一次作业
一.作为杨老师的学生第一次听杨老师讲课,印象最深的就是:工程中所有步骤之间是乘法,如果任何一步为0,工程就做不出来了.以前所有老师讲到的都是不要太在乎结果,努力的过程很重要,但是这在软件工程中不合适了 ...
- oracle union
union 取并集,去重不仅去掉两个集合之间的重复,也会去掉集合的自重复
- 重温jsp③
Jsp详细 九大内置对象 Out jsp的输出流,用来向客户端响应 page 当前jsp对象!他的引用类型是object,即真身中有如下代码:object page=this: Session h ...
- 第一次冲刺阶段后五天总结和第一次 Sprint
第一次冲刺阶段后五天总结(11.16-11.20) 一.准备实现的功能 1 在游戏中随机显示式子 点击进入答题则进入答题界面,显示式子 2 设置限时或者规定答题数目模式 进入游戏,选择不同模式 3 产 ...
- Daily Scrum - 11/25
今天是Sprint 2的最后一天,我们在下午的课上对之前两个Sprint作了比较详尽的Review,并在课后Daily Scrum上讨论制订了Sprint 3的任务安排.具体Task会在明天更新在TF ...
- Linux命令(十) 在文件或目录之间创建链接 ln
命令简介 ln 命令用于连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中.若同时指定多个文件或目录,且最后的目的地是一个 ...