首页 > windows下nodejs express安装及入门网站,视频资料,开源项目介绍

windows下nodejs express安装及入门网站,视频资料,开源项目介绍

windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结

第一步:下载安装文件

下载地址:官网http://www.nodejs.org/download/

第二步:安装nodejs

下载完成之后,双击 node-v0.12.7-x64.msi,开始安装nodejs,默认是安装在C:Program Files odejs,可以修改到其他路径(如D: odejs)。

测试,进入cmd输入 node -v 查看nodejs的版本。输入 node -h 可以查看nodejs的帮助。node进入nodejs的命令行,两次Ctrl+c退出。

D: odejs>node -v

v0.12.7

D: odejs>node -h

Usage: node [options] [ -e script | script.js ] [arguments]

D: odejs>node

> console.log('Hello World!');

Hello World!

undefined

>

(^C again to quit)

>

第三步:安装相关环境

新版的nodejs集成了npm不需要另外下载安装了,打开安装目录看到(如:D: odejs ode_modules pm),直接用npm安装相环境既可

可以使用cmd命令行输入"npm -v"来测试是否成功安装。

npm install -g [email protected]

npm install jade -g

npm install mysql -g

注意:直接通过npm install express -g 安装后,运行express提示" express"不是内部或外部命令,原因是版本问题,改成3.5.0即可运行。

安装其他组件,取决于环境搭建需求。

所有命令都是-g进行全局安装的,这样安装的安装包都在当前用户下,在磁盘的所有其他地方都可以访问到,比较方便。

代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。

如果沒有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),只能在当前目录下使用。默认情况下上述组件都是安装在C:Program Files odejs ode_modules文件夹下 也是nodejs相关组件的自动查找路径。

全局安装在C:UsersAdministratorAppDataRoaming pm 目录下(Administrator为window用户目录)。

第四步:安装、测试 CoffeeScript

npm install coffee-script -g

确认安装的命令:coffee -v,出现版本号表示成功安装。

新建cs.js文件,输入(for语句下面的console.log 需要缩进,否则会报错):

for i in [0...3]

console.log "hello #{i}"

在该目录下运行"coffee cs.js" 输出:

D:>coffee cs.js

hello 0

hello 1

hello 2

环境搭建完成。

第五步:创建一个express工程

(1).键入:express myapp (myapp是测试起的工程名称)

系统会自动创建一个 C:UsersAdministratormyapp 目录,

包括:public routes views 三个文件夹,app.js package.json 两个文件

app.js: 项目入口,可以改成index.js或其他。相当于php项目中的 index.php、index.html

node_modules: 存放项目的依赖库

package.json: 项目依赖配置信息

public: 静态文件如 css,js,img (可以改成static,在入口js那里对应修改)

routes: URL路由文件

Views: 页面文件(Ejs或者jade的模板,默认是jade)

C:UsersAdministrator>express myapp

create : myapp

create : myapp/package.json

create : myapp/app.js

create : myapp/public

create : myapp/views

create : myapp/views/layout.jade

create : myapp/views/index.jade

create : myapp/routes

create : myapp/routes/index.js

create : myapp/routes/user.js

create : myapp/public/stylesheets

create : myapp/public/stylesheets/style.css

create : myapp/public/javascripts

create : myapp/public/images

install dependencies:

$ cd myapp && npm install

run the app:

$ node app

(2).C:UsersAdministratormyapp>npm install

npm WARN deprecated [email protected]: use serve-favicon module

[email protected] node_modulesjade

(3).C:UsersAdministratormyapp>node app

Express server listening on port 3000

(4).用浏览器打开地址:http://127.0.0.1:3000/

可以看到输出:Express Welcome to Express

(5).在myapp下(或其他目录都可以)新建 helloworld.js 代码如下(端口号可以自己定义不跟其他的冲突就可以):

var http = require("http");

http.createServer(function(request, response) {

response.writeHead(200, {"Content-Type": "text/plain"});

response.write("Hello World!");

response.end();

}).listen(8888);

console.log("nodejs start listen 8888 port!");

(6).cmd进入helloworld.js目录,输入:node helloworld.js

D: odejscode>node helloworld.js

nodejs start listen 8888 port!

(7).用浏览器打开地址:http://127.0.0.1:8888/

可以看到输出:Hello World!

第六步:在项目中引用express包,在myapp目录下创建helloworld2.js文件内容如下:

var express = require('express');

var app = express();

app.get('/', function(req, res){

res.send('hello world2');

console.log('hello world2');

});

app.listen('8808');

如果没有安装过express,那么首先需要在当前项目文件夹下安装一个express

项目中引用的包,都会被安装到【node_modules】文件夹

或者拷贝全局组件C:UsersAdministratorAppDataRoaming pm ode_modules 目录到项目里。

D: odejscode>node helloworld2.js

用浏览器打开地址:http://127.0.0.1:8808/

可以看到输出:hello world2



第七步:安装supervisor  

每次修改代码后会自动重启,省事省力的工具。

安装:npm install -g supervisor

运行方法,到项目目录下执行:supervisor app.js

C:UsersAdministrator>cd myapp

C:UsersAdministratormyapp>supervisor app.js

测试:修改app.js 加上一句:console.log("use supervisor!");后在控制台输出:

crashing child

Starting child process with 'node app.js'

Express server listening on port 3000

use supervisor!

同样要启动其他js把node xxx.js 换成 supervisor xxx.js 如:

C:UsersAdministratormyapp>supervisor helloworld2.js



第八步:安装 forever pm2进程管理器

安装:npm install -g forever

虚拟机一关node服务就关了,不过forever可以让node服务不停止,forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。

forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。

注:现在forever现在比较少人了,一般用pm2管理nodejs

pm2 是一个带有负载均衡功能的Node应用的进程管理器。当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。

它非常适合IaaS结构,IaaS 基础架构即服务,例如亚马逊的AWS,IaaS对于不知道新推出的应用程序/网站会有多成功的创业公司来说非常有用。

用法。

注:pm2需要依赖包比较多,需要使用:-d 参数,直接使用npm install pm2 -g 命令会warn出错。

$ npm install pm2 -gd # 命令行安装 pm2

$ pm2 start app.js -i 2 #后台运行pm2,启动2个app.js

# 也可以把'max' 参数传递给 start

# 正确的进程数目依赖于Cpu的核心数目

C:UsersAdministratormyapp>pm2 start app.js -i 2

[PM2][ERROR] Process 0 not found

[PM2] Process successfully started

Use `pm2 show ` to get more details about an app

$ pm2 start app.js --name my-api # 命名进程

$ pm2 list # 显示所有进程状态

$ pm2 monit # 监视所有进程

$ pm2 logs # 显示所有进程日志

$ pm2 stop all # 停止所有进程

$ pm2 restart all # 重启所有进程

$ pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)

$ pm2 stop 0 # 停止指定的进程

$ pm2 restart 0 # 重启指定的进程

$ pm2 startup # 产生 init 脚本 保持进程活着

$ pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)

$ pm2 delete 0 # 杀死指定的进程

$ pm2 delete all # 杀死全部进程

运行进程的不同方式:

$ pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目

$ pm2 start app.js -i 3 # 启动3个进程

$ pm2 start app.js -x #用fork模式启动 app.js 而不是使用 cluster

$ pm2 start app.js -x -- -a 23 # 用fork模式启动 app.js 并且传递参数 (-a 23)

$ pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone

$ pm2 stop serverone # 停止 serverone 进程

$ pm2 start app.json # 启动进程, 在 app.json里设置选项

$ pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数

$ pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件

你也可以执行用其他语言编写的app ( fork 模式):

$ pm2 start my-bash-script.sh -x --interpreter bash

$ pm2 start my-python-script.py -x --interpreter python

0秒停机重载:这项功能允许你重新载入代码而不用失去请求连接。

注意:仅能用于web应用,运行于 cluster 模式(默认模式)

$ pm2 reload all

第九步:安装 Grunt(一切都可自动化)

Grunt是Javascript任务运行器。为什么需要任务运行器?

对于需要反复重复的任务,例如压缩、编译、单元测试、代码检查等,自动化工具可以减轻你的劳动,简化你的工作。

为什么使用Grunt?

Grunt 有庞大的生态圈,并且每天都在增长。你可以自由地选择数以百计的插件,帮助你自动化地处理任务。

用Grunt构建现有项目

1:全局安装grunt命令:npm install -g grunt-cli

2:在项目的根目录下新建一个Gruntfile.js文件,该文件为grunt的配置、初始化文件。

3:在packaget.json文件的devDependencies项中,添加grunt核心依赖以及需要的插件依赖。

"devDependencies": {

"grunt": "^0.4.5"

}

注:如果不想手动添加这些依赖,可以直接cmd到项目根路径下运行:npm install grunt --save-dev

依赖会被自动写入package.json的devDependencies项中。

关于Gruntfile的编写规则,详细请查看,Gruntjs中文文档。

目前项目中用到的几个gruntplugin:

jshint: 用于对JS语法进行强制检查

csslint: 用于对css语法进行强制检查

uglify: 用于压缩项目文件

Gruntfile配置的写法非常灵活并且随意,支持对文件进行正则匹配等特性。

==============================================

国内nodejs的网站 http://www.cnodejs.org/

Node.js 新手入门 - CNode技术社区

https://cnodejs.org/getstart

Node.js 教程 | 菜鸟教程

http://www.runoob.com/nodejs/nodejs-tutorial.html

Node.js Frameworks

http://nodeframework.com/

简介 | PM2

http://wohugb.gitbooks.io/pm2/content/index.html

Uspcat NodeJS视频教程 - 爱酷学习网,免费高清视频教程在线观看

http://www.icoolxue.com/album/show/89

Node JS国外网站教学视频(共15课时)

http://edu.51cto.com/course/course_id-127.html

Pomelo:网易开源基于 Node.js 的游戏服务端框架 - 梦想天空(山边小溪) - 博客园

http://www.cnblogs.com/lhb25/archive/2012/12/02/pomelo-game-server-framewok-for-node-js.html

node.js+Express.js+Jade+MongoDB开发Web即时聊天系统视频教程下载-菊花侠-ITPUB博客

http://blog.itpub.net/29370928/viewspace-1259577/

基于node.js+Express.js+Jade+MongoDB开发Web即时聊天系统

http://pan.baidu.com/s/1pJHOYE3

使用Node.js完成的第一个项目的实践总结 - 曾健生的专栏 - 博客频道 - CSDN.NET

http://blog.csdn.net/newjueqi/article/details/21625493

yanghua/FixedAssetManager_Server · GitHub

https://github.com/yanghua/FixedAssetManager_Server

 =========================================

Koa (koajs) -- 基于 Node.js 平台的下一代 web 开发框架 | Koajs 中文文档

http://koa.bootcss.com/

Koa首页、文档和下载 - Node.js 的 Web 框架 - 开源中国社区

http://www.oschina.net/p/koa

Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。

Koa可以通过生成器摆脱回调,极大地改进错误处理。Koa核心不绑定任何中间件,但提供了优雅的一组可以快速和愉悦地编写服务器应用的方法。

不过目前使用express的项目比较多,资料比较多,入门还是学习express比较好。

 

转载于:https://www.cnblogs.com/zdz8207/p/nodejs_learn_note_1.html

更多相关:

  • 1.请确保安装了node   2.安装pm2 npm install pm2 -g 安装完毕后 pm2 -v 出现以下界面就代表安装成功 (如果报错bash:pm2:command not found 解决方案: ln -s /usr/local/node安装目录/lib/node_modules/pm2/bin/pm2 /usr...

  • 在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广度和深度。本文从浏览器角度来告诉你,URL后输入后按回车,浏览器内部究竟发生了什么,读完本文后,你将了解到:浏览器内有哪些进程,这些...

  • 进程与线程进程(process)就是任务,是计算机系统进行资源分配和调度的基本单位[1]。比如,打开一个word文件就是启动了一个word进程。线程(thread)是进程内的子任务。比如word中可以进行编辑、拼写检查和打印等子任务。我们目前的操作系统都是多任务的操作系统,多任务的实现方式[2]:多进程多线程多进程 + 多线程多进程:...

  • 运行cmd netstat -aon|findstr 80 然后 taskkill -f -pid 32428(这个就是pid进程编号) 回车   进程死翘翘了~ 去愉快玩耍吧~哦对了 别忘记一健三联关注我哟~...

  • 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网...

  • 1.      SIGTERM “kill pid” 会发送SIGTERM到进程pid. This is the termination signal sent by killcommand by default. 2.      SIGINT 在终端中敲入interrupt key(DELETE或ctrl+c)会产生SIG...