报错原因是我们的代码中可能有中文输出,例如我的代码如下:
//express_demo.js 文件
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World');
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})
输出有中文,就会报错,解决办法是:
首选项——>浏览插件,并找到packages目录下的nodejs目录,打开并找到 Nodejs.sublime-build文件,修改encoding和windows的cmd参数:
encoding值
由"cp1252"
改为"utf-8"
,
windows下的cmd值
由["taskkill /F /IM node.exe & node", "$file"]
改为["chcp", "65001", "&", "taskkill", "/F", "/IM", "node.exe", "&", "node", "$file"]
chcp 65001是为了解决cmd命令返回值改用utf-8(65001)编码而支持中文,这样可以保证在Sublime中编译运行代码时cmd的killall命令的返回值和源码中的可以正常解码显示结果。