node简介

Posted mercy-up

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node简介相关的知识,希望对你有一定的参考价值。

1. Node.js是什么?

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

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

  Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,因此不需要考虑兼容性的问题,V8引擎执行Javascript的速度非常快,性能非常好。

  Node.js是运行在服务端上的Javascript。

  Node的核心语言是javascript,并不是一门新的语言,而是一门技术。

2. Node的模块

  Node的模块主要分为两类:宿主模块和内置模块。模块的主要目的是为了方便管理和维护。

  宿主对象: window   history

  内置对象:math   data     regexp      array      string......

  模块的导入(require):

var http = require("http");      //导入http模块
var fs = require("fs");      //导入文件系统模块
var querystring = require("querystring");      //导入参数模块
var url = require("url");      //导入地址模块

3. 一个简单的node.js

var http = require("http");   //引入http的模块,用来提供服务
var fs = require("fs");
var server = http.createServer();    //创建一个服务器
//server监听request事件,callback
server.on(‘request‘,function(request,response){
	response.writeHead(200,{"Content-Type" : "text/html;charset=utf8"});
     res.end(‘Hello World ‘);
}); // 服务搭建完成,监听端口 server.listen(8888); console.log(‘服务运行在localhost:8888‘)
//ctrl+c   停止

4. 关于文件系统(fs)的一些常用的方法

  在填写路径的时候必须加上"./"这是表示在当前目录。

  4.1 读取文件 readFile(异步)和readFileSync(同步)。

// fs 文件系统的模块
var fs = require("fs");  
// console.log(fs);

// 异步读取文件
fs.readFile(‘./08.txt‘,‘utf8‘,function(err,data){   //如果编码格式不写,输出的就是一串buffer码
	if(err){
		throw err;   //把错误抛出来,阻止代码继续往后面走
	}
	console.log(data)
})

// 同步
// var data = fs.readFileSync("./08.txt",‘utf8‘)   //同步读完就是函数的返回值
// console.log(data)

  4.2  判断文件(文件夹)是否存在

fs.access(‘./08.txt‘,function(err){   //判断文件是否存在
	if(err){
		throw err;
	}
	// 如果没有抛出错误,文件存在
	fs.readFile(‘./08.txt‘,‘utf8‘,function(err,data){
		if(err) throw err;

		console.log(data);
	})
})


fs.access("./abc",function(err){    //判断文件夹
	if(err){
		throw err;
	}
	console.log(‘hello‘)
})

  4.3 创建文件夹(同异步)

异步的创建文件夹
fs.mkdir("./data02",function(err){
	console.log(err);   //node会报错,但是错误都不会抛出,不会影响后续代码的执行
	console.log(‘OK‘);
})

同步的创建文件夹
fs.mkdirSync(path[, options])

  4.4 读文件夹(同异步)

fs.readdir("./data",function(err,data){
	console.log(err);
	console.log(data);   //里面的文件以数组的形式表示出来,进行判断,判断是否是文件夹
	// 如果是文件夹,继续读文件夹,如果是文件,直接读文件,然后展示
})

同步的读文件夹
fs.readdirSync(path[, options])

5. 知识补充

  什么是i/o?

   i:input 

   o:output

   输入和输出, i/o 就是服务器的一个读写操作。

  什么是并发?

   段时间内有多个程序在运行到运行完毕之间。

  同步和异步有什么区别

   同步会阻塞 循环 script加载src。

   异步不会阻塞代码 定时器,link加载css,img加载src。

  什么是异步的IO?
   要有数据的交互 异步的IO 读文件。
   没有数据的交互 异步的非IO setTimeout setInterval。

  线程与进程

   一个程序至少需要一个进程,一个进程至少需要一个线程。

以上是关于node简介的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

vscode代码片段建议bug

澄清 node.js + promises 片段

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

node 片段

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段