在windows环境下基于sublime text3的node.js开发环境搭建
摘自:http://blog.sina.com.cn/s/blog_5a6efa330102vcla.html (略有修改)
首先安装sublime text3,百度一堆,自己找吧。理论上sublime text2应该也可以。我只能说一句:这个软件实在是太强悍了。
跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了。目前我在使用的主要是Emmet、Python、还有一些格式化的插件(xml,json),加上这次安装的node.js。
node.js的安装就不用多说了,直接http://nodejs.org/ 点击install下载window版本的安装程序后安装即可。默认的安装会将安装目录加到path环境变量中,这一步是为了后续使用node的时候,可以不用带路径,当然,后续在sublime text中安装好nodejs插件之后,也可以对node的路径进行一些自定义的设置。为了使用方便,建议增加到path环境变量。
SublimeText-Nodejs插件(https://github.com/tanepiper/SublimeText-Nodejs)
原本在sublime text的插件库里面有nodejs的插件,但是经过尝试安装后,发现无法修改编译设置,没找到Nodejs.sublime-build文件,后来在github上面看了下人家的安装说明之后再重新安装的。
安装Package Control;运行Sublime,按下快捷键Ctrl + `;在控制台中输入如下并回车;
代码如下:
版本Ver 2
import urllib2,os,hashlib; h = '2deb499853c4371624f5a07e27c334aa' + 'bf8c4e67d14fb0525ba4f89698a6d7e1'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', ' ')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
版本Ver 3
import urllib.request,os,hashlib; h = '2deb499853c4371624f5a07e27c334aa' + 'bf8c4e67d14fb0525ba4f89698a6d7e1'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', ' ')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
安装也有二种方式:
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")
修改编译选项,在package目录下的nodejs目录中,打开Nodejs.sublime-build,原始内容如下:
{
"cmd": ["node", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.js",
"shell": true,
"encoding": "cp1252",
"windows":
{
"shell_cmd": "taskkill /F /IM node.exe & node $file"
},
"linux":
{
"shell_cmd": "killall node; /usr/bin/env node $file"
},
"osx":
{
"shell_cmd": "killall node; /usr/bin/env 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": "cp1252",
"encoding": "utf8",
"windows":
{
// "shell_cmd": "taskkill /F /IM node.exe & node $file"
"shell_cmd": "taskkill /F /IM E:/DevelopTools/nodejs/node.exe & node $file"
},
"linux":
{
"shell_cmd": "killall node; /usr/bin/env node $file"
},
"osx":
{
"shell_cmd": "killall node; /usr/bin/env node $file"
}
}
重启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则表示交互正常。
本文来自博客园,作者:驸马爷,转载请注明原文链接:https://www.cnblogs.com/cnblogs-jcy/p/6875914.html