参考:
http://www.cnblogs.com/bluesky4485/p/3928364.html
http://www.cnblogs.com/ostrich-sunshine/p/6685942.html
1、安装nodejs:
官网http://nodejs.org/ 下载安装即可。默认的安装会将安装目录加到path环境变量中,这一步是为了后续使用node的时候,可以不用带路径,当然,后续在sublime text中安装好nodejs插件之后,也可以对node的路径进行一些自定义的设置。为了使用方便,建议增加到path环境变量。
2、下载安装插件:
下载地址:https://github.com/tanepiper/SublimeText-Nodejs
安装有两种方式:
1、直接下载压缩包后解压到sublime text的package目录中。查看package目录在哪可以通过菜单栏中的Preferences–>浏览程序包Browse Packages直接打开package目录。
2、使用git命令下载到package目录(git clone https://github.com/tanepiper/SublimeText-Nodejs “D:\ProgramFiles\Sublime Text 3\Data\Packages\nodejs”)
3、修改编译选项
在package目录下的nodejs目录中,打开Nodejs.sublime-build,原始内容如下
{
"cmd": ["node", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.js",
"shell":true,
"encoding": "cp1252",
"windows":
{
"cmd": ["taskkill /F /IM node.exe & node", "$file"]
},
"linux":
{
"cmd": ["killall node; node", "$file"]
}
}
有2个地方需要修改,一个是编码,为了避免乱码code,需要改成cp936;另外一个是cmd命令,本身如果只是想简单的运行nodejs程序的话,windows下面的cmd可以直接 “cmd”: [“node”, “$file”],但是这样非常不利于开发环境,因为这样的话每次build都会重新启动一个node.exe进程,且会占用一个端口,这肯定是我们不希望的。上文中的cmd原本是想在启动node.exe之前讲node.exe进程都杀掉,然后再启动node.exe,但是这个命令写的不对,直接使用的话是编译不成功的。对cmd命令需要做简单的处理,修改好之后的Nodejs.sublime-build文件内容如下:
{
"cmd": ["node", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.js",
"shell":true,
"encoding": "utf8",
"windows":
{
"cmd": ["taskkill","/F", "/IM", "node.exe","&","node", "$file"]
},//这句是解决端口占用的问题
"linux":
{
"cmd": ["killall node; node", "$file"]
}
}
4、重启sublime text然后验证(服务端配置完毕)
重启sublime text之后,配置就算完成了。我们写一小段代码来验证一下是否可以正常运行。
var http = require('http');
var os = require('os');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(3000);
console.log('Server running at http://127.0.0.1:3000/');
Ctrl+b编译这段代码之后,sublime text窗口中就会显示
Server running at http://127.0.0.1:3000/
若之前有运行的node进程在,则会先杀掉node进程,再启动node,显示如下:
成功: 已终止进程 “node.exe”,其 PID 为 154588。
Server running at http://127.0.0.1:3000/
到此,服务端算是启动成功,打开浏览器,输入http://127.0.0.1:3000/,页面显示Hello World则表示交互正常。
5、控制台配置
打开文件“Nodejs.sublime-settings”:
将代码 “node_command”: false改为 “node_command”: “D:\Program Files\nodejs\node.exe”
将代码 “npm_command”: false 改为 “npm_command”: “D:\Program Files\nodejs\npm.cmd”
保存文件(路径是你安装nodejs的路径)
6、测试
console.log(“哒哒哒……完成啦”);
7、小知识
配置编码格式的时候,原博主写的是cp936,特解释一番:
微软的CP936通常被视为等同GBK,连 IANA 也以“CP936”为“GBK”之别名。事实上比较起来, GBK 定义之字符较 CP936 多出95字(15个非汉字及80个汉字)。
UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。
GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。