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 应用,所以它是跨平台的。 阅读全文 >>

使用 NodeJS 框架 Atom Shell 编写桌面应用入门

NodeJS 使前后台语言上得到了统一,给 “不就是做网站的” 那些人带来了福音,其基于事件驱动的处理机制更是在并发/CPU 密集型计算上大展身手。

虽然我不怎么做 UI 程序,但对于每一种语言却爱关心它做 GUI 程序是否得心应手。像 Java, Groovy, Scala 等写桌面程序也不怎么样,JavaFX 似乎显现出苗头来,因为 JavaFX 也支持 CSS 了,但布局仍然老套。

HTML + CSS + JS 做页面布局等样式控制有种与身俱来的优越感,于是 NodeJS 的世界里便产生了  Node-Webkit(已更名为 NW.js) 和 Atom Shell,它们各自的代表作有 LightTable 和堪与 Sublime 相媲美的 Atom 编辑器。

Node-Webkit(NW.js) 有两个context,node context 和 web context, 应用入口是一个 html 文件。而在  Atom Shell 只维持一个context,入口是一个 JS 文件,浏览器的启动控制要亲自动手。

完了基本的介绍后,回到原点,来看个 Atom Shell 的 Hello World 程序例子。 阅读全文 >>

用 grunt-contrib-connect 构建实时预览开发环境

本文基本是参照着 用Grunt与livereload构建实时预览的开发环境 实操了一遍,直接实现能实时预览文件列表,内容页面。不用刷新页面了,这比以前开发网页程序都简单。

这里要用到的 Grunt 插件有

grunt-contrib-connect, 用来充当一个静态文件服务器,本身集成了 livereload 功能
grunt-contrib-watch, 监视文件的改变,然后执行指定任务,这里用来刷新 grunt serve 打开的页面

以下是个辅助的插件

load-grunt-tasks, 省事的插件,有了这个可以不用写一堆的 grunt.loadNpmTasks('xxx'),再多的任务只需要写一个 require('load-grunt-tasks')(grunt)

参考的文档中提到了 time-grunt 插件,可用来显示每一个任务所花的时间和百分比,由于此示例中基本就 watch 任务占了百分百的时间。

下面是 Grunt 项目的两个基本的文件 阅读全文 >>

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

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

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

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

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

Grunt - 基于 node.js 构建工具之初体验

自动化构建工具真是缭乱纷呈,最早的 make, nmake, 到 Ant, NAnt, 进化到面向对象的 Maven, Gradle,由 Scala 而起的 SBT, SBuild,再就是今天要说的由 node.js 建立起的生态 Grunt。Grunt 可以做什么呢,理论上只要有相应的插件支持,它可以应对任何构建任务,但它更为有力的表现是在前端方面。

Grunt 是运行在 node.js 环境,由 npm 来安装,所以首先要安装 node.js, npm, 它们俩的安装不多说,我这里的版本分别是:

unmi@localhost ~> node --version
v0.10.24
unmi@localhost ~> npm --version
1.3.21

运行 Grunt 还要安装 grunt-cli, 使用命令 npm install -g grunt-cli,安装后我机器上 Grunt 的版本是 阅读全文 >>