pm2 使用笔记

PM 2 是什么,官网上 https://pm2.keymetrics.io/ 是说 PM2(Process Manager 2) 是 Node JS 的高级的,产品级的进程管理工具。为什么叫做 PM2,那有没有 PM 或 PM 1 呢,没有,它起步就是 2. PM2 相对于 Node JS 有点类似于 Gunicorn 和 Python Web 应用的关系。但 PM2 比 Gunicorn 功能更强大, 其实 PM2 还能用来管理其他任何进程,不局限于 Node JS 的。

最好的入门学习教程是官方的 Quick Start。从中我们可以大概看到 PM2 的主要应用:

  1. 对进程的管理与监控
  2. 多种进程重启策略
  3. 日志的管理
  4. 使用配置文件
  5. 集群模式
  6. 用作静态 Web 服务
  7. 进行应用部署
  8. 使用环境变量

PM2 是 Node JS 应用,所以它是跨平台的。 阅读全文 >>

Grunt 运行 Jasmine 测试: grunt-contrib-jasmine-示例

上一篇是 Grunt 运行 Jasmine 测试用例: grunt-contrib-jasmine-实例,本篇叫做示例。其竟在于对 grunt-contrib-jasmine-example 的简单的窥探,进而自己的项目中可以如何如何。

如果剔除该项目的几个外围文件,就只下面的结构了

这算是一个最简单的 Jasmine 项目布局了。各位可以自己去查看上面的 Gruntfile.js 和 package.json 的内容,我这里自己来亲自打造一个比这还更简单的项目来,把原来的 jshint 任务也拿掉了。

1. 首先创建项目目录 TestJasmine 阅读全文 >>

Grunt 运行 Jasmine 测试: grunt-contrib-jasmine-实例

个人感受,TDD 是一种很好的开发方式,而如今一惯不怎么写测试用例的 JavaScript 代码也有了许多优秀的测试框架,如 Jasmine,Qunit,JsTestDriver,JSUnit,Mocha等。Jasmine(茉莉花--该不会是敏感词吧) 是 BDD,行为驱动开发的测试,典型的例子就是 given-when-then 这样的描述,即基于 Spec 的测试。

Grunt 是 Node.js 生态圈中的构建工具,正火着呢。一说到 Node.js,初接触它的人初印象大概是 require('http').createServer(...).listen(1337, 'localhost'),  这样的例子反而让人无所适从,其实 Node.js 的能耐大着呢。

关于 Grunt 的简单使用可以参考之前的一篇:Grunt - 基于 node.js 构建工具之初体验,这篇足够有助于我们对 Grunt 的大局的理解。

Grunt 能与 Jasmine 的结合有赖于 grunt-contrib-jasmine 这条红线,再加上 PhantomJS, 使可以完全脱离浏览器而在控制台下跟测试用例了。最快速的体验 grunt-contrib-jasmine, 可从 github 上克隆一个例子项目来,当然假设你已安装好 Node.js, Grunt, PhantomJS 这些工具 阅读全文 >>