{
  "name": "puer",
  "description": "a tool to build static autoreload(livereload) server",
  "author": {
    "name": "leeluolee"
  },
  "version": "0.0.7",
  "repository": {
    "type": "git",
    "url": "https://github.com/leeluolee/puer"
  },
  "main": "./lib/index.js",
  "bin": {
    "puer": "./bin/puer"
  },
  "dependencies": {
    "coffee-script": "1.4.x",
    "express": "3.0.x",
    "chokidar": "0.5.3",
    "marked": "0.2.x"
  },
  "devDependencies": {
    "nodeunit": ">=0.5.0"
  },
  "engines": {
    "node": ">0.8"
  },
  "scripts": {
    "prepublish": "coffee -o lib/ src/",
    "postinstall": "node setup.js",
    "test": "node setup.js test"
  },
  "readme": "#Puer \n一个在当前(或指定目录)开启静态服务器的命令行工具，css刷新样式，其它刷新页面.是的，跟F5差不多\n\n__新版本去除了socket.io的依赖, 改为使用[SSE](http://en.wikipedia.org/wiki/Server-sent_events)代替, 所以IE不支持了__\n\n\n##安装 \n`npm -g install puer`\n\n当然你也可以fork一份自己折腾:\n\n`git clone https://github.com/leeluolee/puer`\n\n\n##使用\n\n###命令行\n__90%__的情况下, 你应该是这样用的...\n```bash\ncd path/to/your/static/dir #到你想去地方\npuer #泡一杯普洱\n\n```\n或许你想更__深入__一点...\n```bash\nluobo(master) ✗> puer --help\n\nUsage:  puer [options...]\n\nOptions:\n  -a,--addon <file> your addon's path\n  -p,--port <port>  server's listen port, 8000 default\n  -d,--dir <dir>  your customer working dir. default current dir \n     --no-reload    close  auto-reload feature,(not recommended)\n     --no-launch    close the auto launch feature\n  -i,--ignored <regexp> ignored file under watching\n  -t,--time <ms>  watching interval time (ms), default 500ms\n  -h,--help     help list\n           help list\n\n```\n\n其中, __addon__代表你可以传入一个自己的脚本(通常是路由定义用以测试, 也可以拦截.less这些资源请求), 这个模块输出一个函数, 可以获得当前的express的app实例，以及命令行传入的options(一般没啥用)\n\n```javascript\n\n\nmodule.exports = function(app, options){\n  app.get(/(.*\\.less)/, function(req, res){\n    res.send(\"less file\") // 当然一般会编译了之后发送,这里只是实例\n  })\n}\n\n\n```\n\n\n\n其实就是加入了一些路由规则而已,具体测试请看test目录\n\n###仅作为connect中间件使用(> v0.0.6)\n\n0.0.6版本的puer把监听部分抽了出来作为connect中间件`require(\"puer\").connect`, 与connect.compress一样，因为拦截了res.write 你必须在static等可能发送html的中间件前的use这个中间件，这部分抽里出来主要是为了__自动刷新NodeJS作为后台的动态网站(比如用模版输出)，只要是content-type 是text/html的response就可以自动刷新__\n\n```javascript\nvar connect = require(\"connect\")\nvar path = require(\"path\")\nvar http = require(\"http\")\nvar puer = require(\"puer\")\nvar app = connect()\n\n// 可以配置三个参数, 以下为默认值\nvar options = {\n    dir: \"path/to/watch/folder\", //__与命令行不同的是必须输入__\n    interval: 500, // 监听文件的间隔,同上面的 -t --time参数\n    ignored: /(\\/|^)\\..*|node_modules/  //忽略的监听文件，默认忽略dotfile 和 node_modules\n}\n// app 为你的connect 实例 或者 express 实例\n// 这里的options就上面所示的三个参数\napp.use(puer.connect(app, options))   //puer connect 中间件，要在static等可能发送请求的中间件之前\napp.use(\"/\", connect.static(__dirname))\n\n\n\nhttp.createServer(app).listen(8001, function(){\n    console.log(\"listen on 8001 port\")\n})\n\n\n\n```\n\n\n\n\n###Changlog\n\n1. v0.0.6 可以作为connect中间件了， 改为使用更简单的HTML5的SSE实现推送, 解决了内存溢出的问题\n\n###LICENSE\nMIT\n",
  "readmeFilename": "README.md",
  "bugs": {
    "url": "https://github.com/leeluolee/puer/issues"
  },
  "_id": "puer@0.0.7",
  "_from": "puer@*"
}
