美文网首页
Mac上在sublime Text3配置nodejs开发环境

Mac上在sublime Text3配置nodejs开发环境

作者: 一叶知秋0830 | 来源:发表于2019-07-18 09:07 被阅读0次

安装和配置

首先打开sublime Text3,按command+shift+p快捷键,输入Install Package按回车,然后搜索nodejs进行安装。
安装完成后,选择电脑左上角Sublime Text--Preferences--Browse Packages

进入Browse Packages
进入Packages文件夹下的Nodejs文件夹,用sublime分别打开Nodejs.sublime-buildNodejs.sublime-settings这两个文件。

将这两个文件中的内容修改为以下内容并保存。
// Nodejs.sublime-build文件
{
  "cmd": ["node", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.js",
  "shell": true,
  "encoding": "utf8",
  "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"
        "cmd": "/usr/local/bin/node; node $file"
    }
}
//  Nodejs.sublime-settings文件
{
  // save before running commands
  "save_first": true,

  // node命令路径
  "node_command": "/usr/local/bin/node",
  // npm命令路径
  "npm_command": "/usr/local/bin/npm",
  // node安装路径
  "node_path": "/usr/local/bin/",
  // 第三方库安装路径
  "expert_mode": "/usr/local/lib/node_modules",

  "output_to_new_tab": false
}

测试

新建一个test.js文件进行测试,test.js中内容如下:

// 引入http模块
var http = require('http');

// 创建服务并监听8080端口(192.168.20.242是我本机的IP地址)
var app = http.createServer(function(req,res){
    // 设置响应头
    res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
    // 响应的内容部分
    res.end('测试页面!');

保存代码后按快捷键control+r运行,运行出现下图红框所示内容时表示nodejs服务启动成功。

运行测试代码
打开浏览器在地址栏输入http://192.168.20.242:8080,可以看到测试内容:
测试结果

结束进程

上面的程序运行起来后发现有个比较坑的地方,就是没法终止这个服务,在网上看到有人说按快捷键control+c终止服务,但是好像没有效果。也有人说在菜单栏通过tool-->Cancel Build来终止服务,但是我没有看到这项命令。最后采用的是杀掉node进程的方法来终止服务器。
首先打开Mac的活动监视器,在右上角的搜索框中输入node,选中node点击左上角的x来终止进程。

活动监视器杀进程
也可以通过终端查看某个端口号的进程的PID,比如上面示例设置的端口号是8080,可以执行下面命令:
lsof -i tcp:8080
通过终端查看某个端口号的进程的PID

查看到node的8080端口的PID是1271,然后执行下面命令来杀掉进程:

kill 1271

相关文章

网友评论

      本文标题:Mac上在sublime Text3配置nodejs开发环境

      本文链接:https://www.haomeiwen.com/subject/webgkctx.html