设为首页 收藏本站
查看: 810|回复: 0

[经验分享] NODEJS(19)Generate Docs and Stubby Server and forever Server

[复制链接]

尚未签到

发表于 2017-2-22 07:09:12 | 显示全部楼层 |阅读模式
NODEJS(19)Generate Docs and Stubby Server and forever Server

1. Docs
In package.json
"gulp-jsdoc" : "0.1.4",

gulp config file gulpfile.js
var jsdoc = require("gulp-jsdoc");
//run app using nodemon
gulp.task('docs', [], function(){
return gulp.src(paths.sources)
.pipe(jsdoc("./docs"));
});

Comments example
/**
* @desc authutil is a nice tool
* @author sillycat
* @module authutil
*/

/**
* @desc decode the token we get from Authorization header
* @param {string} token - token string from the header
* @return {HashMap} - key value pairs about auth info
*/

2. forever
Install forever on small server
> npm install forever -g

Verify the installation
>  forever -h

Command to start the app.js
> forever start --minUptime 10000 --spinSleepTime 10000 -a -l forever.log -o out.log -e err.log app.js

Command to list the apps
> forever list

Stop the first process
>  forever stop 0

3. Stubby Server
That is really amazing server.
Create a json file there named tasks.json
- request:
     url: ^/tasks$
  response:
     latency: 8000
     headers:
          content-type: application/json
     status: 200
     body: >
          [{
          "title": "nodejs project",
          "desc": "I love nodejs"
          },{
          "title": "scala project",
          "desc": "I used scala for long time"
          },{
          "title": "golang project",
          "desc": "it is fastest language I used"
          }
          ]

- request:
     url: ^/tasks/query$
     query:
          type1: value1
          type2: value2
  response:
          latency: 1000
          headers:
               content-type: application/json
          status: 200
          body: >
               [{
               "title": "nodejs project",
               "desc": "I love nodejs"
               }]

- request:
          url: ^/tasks$
          method: post
          headers:
               content-type: application/json
   response:
          status: 204

The command to install the server
> sudo npm install -g stubby

The command to start the server
> stubby -d test/mock_server/tasks.json -w -l 0.0.0.0 -s 5000
Which is using YAML style to define the request and response.

Integrate that with gulp, I am using the JSON style.
[
{
"request": {
"url": "^/tasks$"
},
"response": {
"latency": 8000,
"headers": {
"content-type": "application/json"
},
"status": 200,
"body": [{
"title": "nodejs project",
"desc": "I love nodejs"
},{
"title": "scala project",
"desc": "I used scala for long time"
},{
"title": "golang project",
"desc": "it is fastest language I used"
}]
}
},
{
"request": {
"url": "^/tasks/query$",
"query": {
"type1": "value1",
"type2": "value2"
}
},
"response": {
"latency": 1000,
"headers": {
"content-type": "application/json"
},
"status": 200,
"body": [{
"title": "nodejs project",
"desc": "I love nodejs"
}]
}
},
{
"request": {
"url": "^/tasks$",
"method": "post",
"headers": {
"content-type": "application/json"
}
},
"response": {
"status": 204
}
}
]

Integrate with gulp.
"gulp-stubby-server": "^0.1.3",

var stubby = require('gulp-stubby-server');

//mock server
gulp.task('mock', function(cb) {
var options = {
files: [
'test/mock/*.{json,yaml,js}'
],
stubs: 5000,
location: '0.0.0.0'
};
stubby(options, cb);
});

References:
http://usejsdoc.org/about-getting-started.html
https://github.com/jsdoc3/jsdoc
https://www.npmjs.com/package/gulp-jsdoc

http://www.jianshu.com/p/6c49e2a0cebe
http://www.qttc.net/201308361.html
http://ctripcruise.github.io/2014/12/16/FHY-jsdoc.html

stubby server
https://github.com/mrak/stubby4node
https://github.com/felixzapata/gulp-stubby-server

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345370-1-1.html 上篇帖子: 也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离) 下篇帖子: Node.js 笔记(一) nodejs、npm、express安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表