您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页nodejs文档

nodejs文档

来源:步遥情感网
Nodejs是一个让JavaScript运行在服务器端的开发平台。 一、Windows系统下nodejs安装及环境配置 第一步:下载安装文件

下载nodejs,官网:http://nodejs.org/download/ 第二步:安装nodejs

双击“node-v0.12.2-x86.msi”,开始安装nodejs,安装路径为D:\\ProgramFiles\\nodejs 第三步:验证nodejs安装

第四步:验证npm安装

以上步骤已经配置好nodejs的环境了

安装相关环境:

出现上面问题的原因是版本问题,当前版本是4.12.3改成3.5.0

最新

express4.0

版本中奖命令工具分家出来了

(https://github.com/expressjs/generator),所以要使用新版本还需要安装一个命令工具,命令如下:npm install -g express-generator

注意:在这之前先删除express3.5.0 第五步:创建一个工程

默认情况下会自动创建如下文件:

第六步:编写一个demo测试

在test目录下新建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!\");

测试结果:

上面的代码搭建了一个简单的http服务器,在本地监听8888端口,对于任意的http请求,服务器都返回一个状态码为200、

Content-Type值为text/plain的“HelloWorld!”文字响应。 从这个小例子中,我们可以看出几点:

1、Nodejs的网络编程比较便利,短短几行代码就可以构建服务器。 2、体现了时间驱动,在createServer函数的参数中指定了一个回调函数,当有http请求发送过来时,Nodejs就会调用该回调函数来处理请求并响应。

二、Nodejs命令行工具: Node --help

显示了node的用法,运行Node.js程序的基本方法及时执行node [脚本文件名]

另一种输出方式:把执行的语句作为node –e 的参数直接执行。

三、使用node的REPL模式

Ctrl+c退出

Node.js的这种设计虽然有利于提高性能,却不利于开发调试 Supervisor可以实现这个功能,它会坚实你对代码的改动,并自动重启Node.js

四、Nodejs的调试命令 run 执行脚本,在第一行暂停 restart 重新执行脚本

cont,c 继续执行,知道遇到下一个断点 next,n 单步执行

step,s 单步执行并进入函数 out,o 从函数中步出

setBreakpoint(),sb() 在当前行设置断点

setBreakpoint(‘f()’),sb(…) 在函数的f的第一行设置断点 setBreakpoint(‘script.js’,20),sb(…) 在script.js的第20行

设置断点

clearBreakpoint,cb(…)清除所有断点 backtrace,bt 显示当前的调用栈 list(5) 显示当前执行到的前后5行代码 watch(expr)把表达式expr加入到监视列表 unwatch(expr)把表达式expr从监视列表移除 watchers 显示监视列表中所有的表达式和值 repl 在当前上下文打开即时求值环境 kill 终止当前执行的脚本

scripts 显示当前已加载的所有脚本 version 显示V8的版本 五、事件驱动 1、事件发射器

events 模块只提供了一个对象: events.EventEmitter。EventEmitter 的核心就是事件发射与事件功能的封装。EventEmitter 的每个事件由一个事件名和若干个参数组成,事件名是一个字符串,通常表达一定的语义。对于每个事件,EventEmitter 支持若干个事件。当事件发射时,注册到这个事件的事件被依次调用,事件参数作为回调函数参数传递。 var events = require('events'); var emitter = new events.EventEmitter(); emitter.on('someEvent', function(arg1, arg2) { console.log('listener1', arg1, arg2); }); emitter.on('someEvent', function(arg1, arg2) { console.log('listener2', arg1, arg2); }); emitter.emit('someEvent', 'DHcc', 2001); emitter 为事件 someEvent 注册了两个事件,然后发射了 someEvent 事件。 六、HTTP服务器与客户端 HTTP服务端

http.server是http模块中的服务器对象。 1、 2、

http.Server的事件

http.ServerRequest:提供了3个事件用于控制请求体传输

data、end、close 3、

获取GET请求内容

http://127.0.0.1:3000/user?name=anna&password=123456

4、

获取POST请求内容

5、 http.ServerResponse

HTTP客户端

http模块提供了两个函数http.request和http.get,功能是作为客户端向HTTP服务器发起请求。

http.request(options,callback)发起请求。接受两个参数,option常用参数如下:

host:请求网站的域名或IP地址 port:请求网站的端口,默认80 method:请求方法,默认是GET

path:请求的相对于根的路径,默认是“/” headers:一个关联数组对象,为请求头的内容 七、使用Node.js进行Web开发 1、建立工程

使用如上命令安装的模板引擎是jade,而不是ejs,将命令改为: express -e microblog

然后继续运行cd microblog && npm install命令,ejs模板引擎就安装好了

但是express3以上的版本把layout默认给取消了,安装ejs后,如何使用ejs的layout模板

首先安装express-partials,运行命令npm install express-partials 然后在app.js里引用express-partials

(1)、添加引用var partials=require('express-partials'); (2)、添加app.use(partials()); 2、启动服务器

3、模板引擎

在app.js中通过用一下两个语句设置了模板引擎和页面模板的位置 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); 表明要使用的模板引擎是ejs,页面 模板在view子目录下。在routes/index.js中调用引擎

exports.index = function(req, res){ res.render('index', { title: 'Express' }); }; res.render 的功能是调用模板引擎,并将其产生的页面直接返回给客户端。它接收两个参数,第一个是模板的名称,即 views 目录下的模板文件名,不包含文件的扩展名;第二个参数是传递给模板的数据,用于模板翻译。index.ejs内容如下:

<%=title %>

Welcome to <%=title %>

上面代码其中有两处 <%= title %>,用于模板变量显示,它们在模

板翻译时会被替换成 Express,因为 res.render 传递了 { title: 'Express' }。 ejs有以下3中标签: <% code %>:JavaScript代码

<%= code %>:显示替换过的HTML特殊字符的内容 <%- code %>:显示原始HTML内容

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务