Node.js入门以及简单示例。

1、Node.js是什么?

  • 首先Node.js不是一门语言,不是库,不是框架,它是一个javaScript运行时环境,简单来讲就是Node.js可以解析和执行javaScript代码,以前只有浏览器可以解析javaScript代码,也就是说现在的javaScript可以完全脱离浏览器来运行,一切归功于Node.js
  • 浏览器中的javaScript包含EcmaScript(基本语法、if 、var 、function 、Object 、Array ) 、BOMDOM
  • Node.js中的javaScript :没有BOM和DOM、有EcmaScript语法,在Node这个JavaScript执行环境中为JavaScript提供了一些服务级别的操作API(文件读写、网络服务的构建、网络通信、http服务器等
  • Node.js的特性(event-driven事件驱动、non-blocking I/O model非阻塞IO模型、lightweight and effclient轻量级和高效、)
  • Node.js自带的npm是世界上最大的开源库生态系统。npm上绝大多数javaScript相关的包都存放在了npm上,这样做的目的是为了让开发人员更方便的使用。

2、Node.js能做什么?

  • Web服务器后台(游戏服务器、接口服务器)
  • 命令行工具
    • npm (node)
    • git (c语言)
    • hexo (node)
  • 对于前端开发者来说,接触最多的是他的命令行工具
    • 自己写的很少,主要使用别人第三方的
    • webpack
    • gulp
    • npm

3、Node.js安装

3.1、文件读取

  • js读取文件
//浏览器中的javaScript是没有文件操作能力的
//但是node中 的JavaScript具有文件操作的能力

//fs是file-=system的间歇,就是文件系统的意思
//在node中如果想要惊喜文件操作,就必须引进fs这个核心模块
//fs这个核心模块中,就提供了所有的文件操作相关的API
//例如:fs.readFile就是用来读取文件的

//1、使用requre 方法加载fs核心模块
var fs = require('fs')

//读取文件

fs.readFile('./data.txt',function(error,data){
   
	console.log(data)
})

  • 效果:返回一串 <Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 0d 0a e4 bd a0 e5 a5 bd 20 4e 6f 64 65 2e 6a 73> ,因为文件中存储的其实都是二进制数据0 1,这里二进制自动转为16进制。可以利用toString()方法转为我们认识的字符。

3.2、文件写入

  • js文件
var fs = require('fs')

//第一个参数:文件路径
//第二个参数:文件内容
//第三个参数:回调函数

fs.writeFile('./你好.md','大家好,好积极把',function(error){
   
	console.log('文件写入成功')
})

3.3、简单的http服务

  • 监听端口
// 你可以使用Node非常轻松的构建一个Web服务器
// 在Node中专门提供了一个核心模块:http
// http这个模块的职责就是帮你创建编写服务器

// 1、加载http核心模块

var http = require('http')

// 2、shiyong http.createServer()方法创建一个web服务器
// 返回一个Server实例

var server = http.createServer()

// 3、提供服务(发送请求、处理请求、反馈(发送响应))
// 注册request请求时间
// 当客户端请求过来,就会自动触发服务器的request请求时间,然后执行第二个参数:回调函数

server.on('request',function(){
   
	console.log('收到客户端的请求')
})

// 4、绑定端口号,启动服务器

server.listen(3000,function(){
   
	console.log('服务器启动成功,可以通过http://127.0.0.1:3000/来进行访问')
})
  • 效果
    在这里插入图片描述
  • 发送响应,修改上面的js文件,添加以下内容
// request请求事件处理函数,需要接受两个参数
// request请求对象 
	// 获取客户端的一些请求信息
// response 响应对象
	//响应对象可以用来给客户端发送响应消息

server.on('request',function(request,response){
   
	console.log('收到客户端的请求' + request.url)
	
	// response 对象有一个方法,write可以用来给客户端发送响应数据
	// write可以使用多次,但是最后一定要使用end来结束响应,否则客户端会一直等待

	response.write('hello')
	response.write( 'nodejs')
	
	response.end()
})

  • 效果
    在这里插入图片描述
  • 思考:如何根据URL的不同,响应不同的内容。
var http = require('http')

// 1、创建Server

var server = http.createServer()

// 2、监听request 请求事件,设置请求处理函数
server.on('request' , function(req , res){
   
	console.log('收到请求了 , 请求路径是:' + req.url)
//	res.write('hello')
//	res.write(' nodejs')
//	res.end()
//上面的方式比较麻烦,推荐使用更加简单的方式,直接用end的同时发送消息
//根据不同的请求路径响应不同的结果
var url = req.url 

	if(url === '/'){
   
	
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值