您的位置:首页 > Web前端 > Node.js

Node.js 开发环境搭建及设置

2013-10-31 14:29 716 查看
一、软件安装

1 Node.js:访问官网安装对应自己操作系统的安装包

2 Node包管理器npm(Node.js 0.6以后已经包含在发行包中)手动安装:cmd中执行命令curl http://npmjs.org/install.sh |sh

3 开发工具WebStorm:访问官网下载对应自己操作系统的安装包安装

二、Web开发所需

1 Express:它是目前最稳定,应用最广泛,而且Node.js官方推荐的唯一一个WEB开发框架.

安装方法:cmd下进入${nodejs}\node_modules目录执行npm install -gexpress

建立项目:

a.cmd工作空间下执行express -e(ejs)或-j(jade) <project>

b.进入其中运行npm install自动安装了依赖ejs和express

c.启动服务器执行node app.js 浏览器输入http://localhost:3000即可

2 附:express-partials:express 3.0(其他区别)后不支持对ejs模版引擎的layout模版

解决方法:

1.安装express-partials。

方法一:运行cmd用npm install express-partials

方法二:在package.json里面的dependencies添加"express-partials": "*"。然后运行cmd并切换 至项目目录运行npm install获得最新版。

2.app.js里面引用express-partials。

步骤一:添加引用var partials = require('express-partials');

步骤二:在app.set('view engine', 'ejs');下面添加app.use(partials());

3.在需要引用模板的地方调用layout:'模版名称'

示例

3 package.json 中所需模块例子

"dependencies":{

"express":"3.0.0rc5", //web开发框架

"ejs":"*", //ejs解析

"mongodb":">=0.9.9",//mongodb数据库

"connect-mongo":">=0.1.7",//session存入mongodb模块

"connect-flash":"*",//express 3.0取消flash()后的补丁模块

"eventproxy":"*"//解决深层事件回调模块

}

4 安装 supervisor每次更改不用重启 node app

安装很简单 cmd

npm install supervisor -g

使用

supervisor app.js

原 webstorm run 配置

C:\Program Files\nodejs\node.exe

修改 run 配置

新建个 bat 内容: supervisor %1

webstorm 修改: 菜单 run->edit configurations -> path to node -> 复制你的 bat 路径 如 d:\xxx.bat

5 设置开机启动

#!/bin/sh
#add for chkconfig
#chkconfig: 2345 70 30

PATH=/usr/local/bin/:$PATH
export PATH
cd /home/wwwroot/nodeproj
supervisor app.js >> /dev/null 2>&1 &

编辑/etc/init.d/nodeauto 设置执行权限和环境变量

chkconfig --add nodeauto

chkconfig nodeauto on/off

service nodeauto

6 forever 管理node进程服务

创建启动文件
sudo vim /etc/init.d/the_name_you_want


写入内容大致如下:


#!/bin/bash

# chkconfig: 345 99 01

# description: forever service

345 是启动级别,99 是启动优先级(序号),01 是关闭优先级(序号)。如果有其他服务依赖于 forever 服务,可以提高优先级,以确保其他服务启动时其可用。

继续:

DEAMON="/your/server/app.js"
LOG="/your/logs/file.log"
DEAMONPATH="/your/watch/path"
PID="/root/.forever/pids/forever.pid"

注意右边是值在引号内!!不然 forever 可能会喊它要 string,尤其是 LOG 地址。在 yum 安装环境中遇到过,make 安装环境未重现,这是今天的吐槽点二。

继续

export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules

注入环境变量,不然找不到 node 或者 -g 安装的包。上面已经提过,地址根据安装方法不同不一致,区别在于有没有 local 这一级,自己根据实际情况定夺。

继续

case"$1"in
start)
forever start -wal $LOG -m 0--watchDirectory $DEAMONPATH --pidFile $PID $DEAMON
;;
stop)
forever stop --pidFile $PID $DEAMON
;;
restart)
forever restart -wal $LOG -m 0--watchDirectory $DEAMONPATH --pidFile $PID $DEAMON
;;
list)
forever list
;;*)
echo "Usage: /etc/init.d/the_name_you_want {start|stop|restart|list}"exit1;;esacexit0

详细说明一下:

-w 监视文件变更,forever 会重启 server 的子进程

-l 指定输入日志

-a 声明追加内容到已有日志文件 (没有 -a 会直接报错并中断…………谁会每次重新启动来关心 log 日志啊?!为什么 -a 不是默认值!!!这是今天的吐槽点三。

-m 最大运行次数

--watchDirectory 监视文件的目录 path (这是一个奇葩的设定,不知道是我“打开的方式不对”,还是其他问题。如果设置了 -w 就必须设置一下这货,不然…… 后面用一节来专门说明这个问题。这是今天的吐槽点四。也是最大的吐槽点!!

--pidFile 字面意思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: