澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

Supervisor实现监测文件修改并自动重启应用澳门皇

在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作。有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好。Node Supervisor正是这样一个可以实现这种需求的Node.js模块。

node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用,node.jsnode

在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作。有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好。Node Supervisor正是这样一个可以实现这种需求的Node.js模块。

根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监控你的项目的js(或CoffeeScript)文件变化,进而重启来方便我们调试应用程序。

安装方法(以全局模块安装):

复制代码 代码如下:

npm install supervisor -g

假设你的Node.js程序主入口是app.js,那么只需要执行以下命令,即可开始监控文件变化。

复制代码 代码如下:

supervisor app.js

Supervisor还支持多种参数,列举如下:

复制代码 代码如下:

//要监控的文件夹或js文件,默认为'.'
-w|--watch <watchItems>

//要忽略监控的文件夹或js文件 
-i|--ignore <ignoreItems>

//监控文件变化的时间间隔(周期),默认为Node.js内置的时间
-p|--poll-interval <milliseconds>

//要监控的文件扩展名,默认为'node|js'
-e|--extensions <extensions>

//要执行的主应用程序,默认为'node'
-x|--exec <executable>

//开启debug模式(用--debug flag来启动node)
--debug

//安静模式,不显示DEBUG信息
-q|--quiet

例子:

复制代码 代码如下:

supervisor myapp.js
supervisor -w py_scripts -e 'py' -x python myapp.py
supervisor -w lib, server.js, config.js, server.js

实现同样功能的类似产品还有Run.js和Nodeman,这两个我都没用过。但是从文档上来看,前者和Supervisor一样都是极简的5分钟就可以上手的那种,功能比Supervisor稍弱;后者的feature比较多,对应的文档就特别长,估计要研究透也得至少半个小时。选择哪一个,全看项目需求和个人喜好。

根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监控你的项目的js(或CoffeeScript)文件变化,进而重启来方便我们调试应用程序。

怎在heroku上部署nodejs

Heroku是一个云应用部署平台,你可以在上面部署简单的应用(包括java、ruby、node.js应用等)。
  这里只是做一个测试,所以使用了Express框架,你可以按照heroku的参考说明部署自己的应用。
注册
首先要注册一个heroku账号,这个很简单,一个邮箱即可。
下载heroku自己的命令行工具Toolbelt
这里我是在mac平台下,使用homebrew可以直接一键安装(brew install heroku),你可以按照自己的平台在官网下载相应的安装包安装。
在自己电脑上登陆
打开命令行,输入: heroku login , 按照提示输入账号密码即可。
开始部署应用
这里介绍的是node.js应用的部署,其它应用按官网上步骤操作即可。
部署node.js应用
编写应用
这里我直接使用express生成了一个应用
修改package.json文件
样例:

{

"name": "MyMobile",

"version": "0.0.1",

"private": true,

"scripts": {

"start": "node app.js",

"postinstall": "./node_modules/bower/bin/bower install"

},

"dependencies": {

"express": "~3.4.5",

"jade": "*",

"bower": "*"

},

"engines": {

"node": "0.10.x",

"npm": "1.3.x"

}

}

添加Procfile文件
注意Procfile文件要放在根目录下,名称为Procfile。简单的话,只加一条 web: node web.js 即可。
使用git新建一个仓库
部署到heroku
heroku create
git push heroku master
运行应用
命令行输入heroku ps:scale web=1
你可以检查是否部署成功,在命令行输入 heroku ps即可,如果正常输出,即是部署成功。
查看
命令行输入 heroku open 即可打开浏览器,它自动在浏览器中显示你运行的应用。
  添加你自己的域名
  在DNS解析的地方,用CNAME将你自己的域名映射到heroku分配给你的域名即可。
  在这里我还使用了bower,所以在package.json里使用了一条 bower命令。这样heroku在运行前会自动按你的 bower.json 里的依赖下载相应的库。这样你就不用把这些库添加到仓库,减少项目体积。
  原文链接:......余下全文>>  

安装方法(以全局模块安装):

nodejs可以干什?

node.js是一个运行在chromeJavascript运行环境下(俗称GoogleV8引擎)的开发平台,用来方便快捷的创建服务器端网络应用程序。你可以把它理解为一个轻量级的JSP或PHP环境,但是用来开发Web应用的话,有时要便捷很多。
很多人都不明白,为什么一个javascript的东西用在了服务器端的开发上。一般认为javascript是浏览器端的脚本语言,但是google将其再开发,用来作为服务器端脚本环境,其性能自称比Python、Perl、PHP还要快。
node.js的最大优点是处理并行访问,如果一个web应用程序同时会有很多访问连接,就能体现使用node.js的优势。
另一个好处是,使用javascript作为服务器端脚本语言,可以消除一些与浏览器端js脚本的冲突。甚至发挥javascript动态编程的特性,在服务器与浏览器之间建立直接的动态程序。

总的来说,node.js可以像PHP一样开发动态网站和WEB应用。  

Supervisor实现监测文件修改并自动重启应用,node.jsnode 在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按...

复制代码 代码如下:

npm install supervisor -g

假设你的Node.js程序主入口是app.js,那么只需要执行以下命令,即可开始监控文件变化。

复制代码 代码如下:

supervisor app.js

Supervisor还支持多种参数,列举如下:

复制代码 代码如下:

//要监控的文件夹或js文件,默认为'.'
-w|--watch <watchItems>

本文由澳门皇冠金沙网站发布于前端开发,转载请注明出处:Supervisor实现监测文件修改并自动重启应用澳门皇