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\桌面 ...
随机推荐
- 《杜增强讲Unity之Tanks坦克大战》10-相机控制
10 相机控制 本节主要学习如何控制相机自动调整位置和焦距,使两个坦克一直同时在视野内. image 在Hierarchy点击右键 image 点击 Create Empty,生成空对象,改名 ...
- 网易云易盾朱星星:最容易被驳回的10大APP过检项
本文由 网易云发布. 1月20日,“走进网易:移动测试与安全实践”公开活动在杭州西湖区颐高创业大厦4F楼友会创业咖啡厅举行.本次活动的议题聚焦在如何实现应用的高效开发.安全过检.开发功耗降到最低等热 ...
- 一个java实现的简单的4则运算器
有些基础知识有欠缺,补一下,顺便练习一下java import com.sun.deploy.util.ArrayUtil; import java.util.*; public class Main ...
- java调用不了你本以为有的方法的问题
大部分是因为你的jar版本不对引起的,我就试过
- 团队冲刺随笔合集—Beta阶段
第一篇:http://www.cnblogs.com/Team-Blog/p/9049271.html 第二篇:https://www.cnblogs.com/Team-Blog/p/9064478. ...
- webSocket开发chat application过程
本次使用websocket开发chat的功能已经接近尾声,等到压力测试结束之后就可以上线了.在此记录一下整个开发过程. ---------------------------------------- ...
- ThinkPHP从零开始(一)安装和配置
序: 对PHP一无所知的我,将从这里从零开始. 1.下载与安装 ThinkPHP的下载: ThinkPHP中文站下载页面 有 核心版和完整版两种,由于不了解.所以我选择了完整版. WampSer ...
- Entity Framework(EF) Code First将实体中的string属性映射成text类型的几种方式
1.通过ColumnType属性设置 [Column(TypeName="text")] public string Text { get; set; } 在进行以上属性设置时,请 ...
- Django_博客项目 引入外部js文件内含模板语法无法正确获取值得说明和处理
问题描述 : 项目中若存在对一段js代码复用多次的时候, 通常将此段代码移动到一个单独的静态文件中在被使用的地方利用 script 标签的 src 属性进行外部调用 但是如果此文件中存在使用 HTML ...
- c++11 noexcept修饰符
c++11 noexcept修饰符 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> ...