什么是node.js?

web
2024-11-04 10:46

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,

性能非常好。

Node.js安装

1、下载对应你系统的Node.js版本:

https://nodejs.org/en/download/ 资料 文件夹中已经提供。

官网下载地址:https://nodejs.org/en/download/

2、选安装目录进行安装

推荐下载LTS版本。安装请参考 资料\NodeJS安装说明.pdf

图片

完成以后,在控制台输入:

# 查看node版本信息
node -v

图片

快速入门

创建测试工程

建一个能写javascript的项目就行

控制台输出

现在做个最简单的小例子,演示如何在控制台输出,创建文本文件demo1.js,代码内容

demo01.js

var a = 1;
var b = 2;
console.log(a+b);

在命令提示符下输入命令

node demo1.js

图片

使用函数

创建文本文件demo2.js

var c=add(100,200);
console.log(c);
function add(a,b) {
	return a+b;
}

命令提示符输入命令

node demo02.js

图片

模块化编程

每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可

见。

创建文本文件demo3_1.js

exports.add=function(a,b){
    return a+b;
}

每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外

的接口。加载某个模块,其实是加载该模块的module.exports属性。

创建文本文件demo3_2.js

引入模块demo3_1
var demo= require('./demo3_1');
console.log(demo.add(400,600));

在命令提示符下输入命令

node demo3_2.js

图片

创建web服务器

创建文本文件demo4.js

//http为node内置的web模块
//导入内置模块http
var http = require('http');http.createServer(function (request,response) {   
	// 发送 HTTP 头部    
    // HTTP 状态值: 200 : OK    
    // 内容类型: text/plain    
    response.writeHead(200,{'Content-Type':'text/plain'})
    // 发送响应数据 "Hello World"    
    response.end('Hello world\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

在命令提示符下输入命令

node demo04.js

服务启动后,我们打开浏览器,输入网址

http://localhost:8888

图片

图片

在命令行中按 Ctrl+c 终止运行。

图片

理解服务端渲染

创建demo5.js ,将上边的例子写成循环的形式

//导入内置模块http
var http = require('http');http.createServer(function (request,response) {    
    // 发送 HTTP 头部    
    // HTTP 状态值: 200 : OK    
    // 内容类型: text/plain    
    response.writeHead(200,{'Content-Type':'text/plain'})
    // 发送响应数据 "Hello World"    
    for (var i=0;i<10;i++){        
        response.write("Hello world\n");    
    }
    response.end('');   // 这个必须要写
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

图片

图片

图片

右键“查看源代码”发现,并没有我们写的for循环语句,而是直接的10条Hello World ,这就说明这个循环是在服务端

完成的,而非浏览器(客户端)来完成。这与JSP很是相似。

接收参数

创建demo6.js

//引入Http模块
var http =require('http');
var url = require('url');
//创建服务,监听8888端口
http.createServer(function (request,response) {    
    //发送http头部    
    //http响应状态200    
    //http响应内容类型为text/plain    
    response.writeHead(200,{"Content-Type":"text/plain"});
    //解析参数    
    //参数1:请求地址;    
    //参数2:true时query解析参数为一个对象,默认false    
    var params = url.parse(request.url, true).query;    
    for(var key in params){        
        response.write(key+"="+params[key]);        
        response.write("\n");    
    }
    response.end("");
}).listen(8888);
console.log("Server running at Http://127.0.0.1:8888");

图片

访问:http://localhost:8888/?id=123&name=itcast

图片

相关文章
热点文章
精彩视频
Tags

站点地图 在线访客: 今日访问量: 昨日访问量: 总访问量: