- 2
- 0
- 约4.32千字
- 约 6页
- 2017-06-03 发布于湖北
- 举报
给Node.js新手的7个建议技巧一些我更愿意在开始就知道东西利用 Node.js 开发是一个非常有趣,和令人满足的过程,他有3万多个模块可以选择使用,并且所有的模块可以非常容易的集成入现有的应用之中。无论如何,对于一些刚开始使用Node.js 开发的的人来说,很容易碰壁,在这个文章中,我会提到在你学习过程中遇到的问题。贴士 1: 在开发环境使用nodemon, 在生产环境使用pm2当你第一次开发Node.js应用的时候,其中一件事情就是一次又一次的运行[file].js?就和揭伤疤一样。当我第一次开发的node app时候,这个让我感到异常挫败和痛苦,尤其是每当我修改很小东西的时候需要control+c幸运的是我发现了一个非常棒的工具Nodemon. 你可以利用以下的命令来安装。npm install -g nodemonNodemon是一个令人惊叹的工具,当你全局安装他以后,可以通过?nodemon [file].js?来启动你的node.js scripts,它会告诉nodemon来监视你的script和scripts的所有变化,这样的Node.js开发方式非常震撼以及让大大提高开发速度。那么,生产环境又如何,除非你用了heroku,Nodejitsu或者其他一些好的 Node.js 平台(也许他们有类似的功能),但是碰巧你用了EC2 或者一些其他的云平台来运行你的Node.js app,你如何能然保证这是一个始终运行的Node.js app?案就是PM2, PM2 是一个类似于Nodemon的工具,不同之处在于它用于生产环境,和Nodemon相似的地方在于他会监控你的app的任何修改或者重新部署,但是有更好的一面, PM2 在遭遇到崩溃的时候,他会正确重启你的app.PM2的优胜之处在于当你要将app需要多核处理的时候,PM2内部集成的负载均衡可以让你很容易的去指定运行多少个实例。pm2 start app.js -i max-i参数目的是指定运行多少个实例,在这个例子中 PM2 使用了一个常量max来扩展你的app运转到你最大的核数,不要忘记Node 平时只会运行在单核!贴士 2: Async或者 Q当你专注于写了更多的node.js apps的时候,你肯定领略了什么是回调地狱。如果你还不知道,这里有一个例子:functionregister(name, password,cb){checkIfNameExists(name,function(err, result){if(err){returncb(“error”);}checkIfPasswordGood(password,function(err, result){if(err){returncb(“error”);}createAccount(name,password,function(err,result){if(err){returncb(“error”);}createBlog(name,function(err, result){sendEmail(name,function(err, result){callback(result);});});});});});}这显然不是一个有用或者令人折服的代码,反而进入一种回调地狱般两难的境地,是你的话将如何避免?一个简单的办法是使用events,但是我个人不建议这么做,因为使用events来调用只有一个用途的私有方法,足以令人受挫。所以你该怎么做? 这里有两个编译好的模块async.js和Q, 他们两个都可以防止落入回调地狱。Async.js或者 ‘async’ 让你可以容易的执行一些连续或者平行的任务,在不依赖一个又一个的嵌套循环前提下.下面是一些来自Async的readme,写明了他支持的模式,如需获取全部的支持方式请去他们的github主页查看。async.map([‘file1,’file2,’file3], fs.stat, function(err, results){ // results is now an array of stats for each file });async.filter([‘file1,’file2,’file3],fs.exists,function(results){// results now equals an array of the existing files});async.parallel([function(){…},function(){…}], callback);async.series([function(){…},function(){…}]);async.waterfall([function(callback){callbac
您可能关注的文档
- 1.3《大堰河_我保姆》课件(人教必修1).ppt
- 1.3经纬线及地球自转2015级.ppt
- 1.3网络中的信息载体、通信线路与连接设备.ppt
- 第五篇 MSC-51单片机存贮器扩展.ppt
- 第五篇 金属金属多重键化学.pdf
- 第五篇 Linux系统接口.ppt
- 第五篇 MapBasic开发环境.ppt
- 第五篇 常用类.ppt
- 1.5 有理数的乘法与除法.ppt
- 第五篇 存储管理.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)