较之前写的vue ECMAJavaScript,nodeJs其实是应该之前就写一写总结一下的。闲来无事就总结一下吧(北京的风真大!!!)

一、为什么要学习nodeJs?

其实我一开始很迷,我觉得我一个后端程序员应该不需要学习nodeJs ,但是你会发现2020年各大公司的Java招聘内卷都特别严重。越来越多的中小型公司趋近于全栈式的开发人员。所以NodeJs成为了很热门的(一直都很热门,但是笔者感觉更为严重了)

说一个题外话。其实NodeJs 本身学习起来对前端后端都没有坏处。因为Node的主要作用是开发服务器。其它的只是利用了一下node的语法。例如你写vue react 项目肯定是需要懂nodeJs的。

二、NodeJs是什么?

NodeJs 是基于谷歌浏览器v8 引擎打造的 c++编写的一个js环境。NodeJs 使用前端的js语言来实现后端的技术或者说服务器端。并且使得前端的开发人员如果想去做后端的服务不用再去学习一门后端。

三、NodeJs 与ECMAScript的关系?(不是重点但是了解还是挺好的)

es6之前的新特性都已经写个例如里面新增了对象的定义类型啊 如 let 、const 、 变量的解构赋值、函数新特性等等。JavaScript 是一种通用的跨平台的脚本语言,它所使用的语法就是ECMAScript 的标准。在 ECMAScript 核心语法的基础之上,进行了自
身的完善(BOM 和 DOM)。也可以说,JavaScript 是 ECMAScript 的一
种方言。
在这里插入图片描述
BOM:浏览器对象模型
BOM提供了独立于内容而与浏览器窗口进行交互的对象
由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window
BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性
DOM: 你可以简单想象页面是一个树。页面每一个组件都是这颗树上的节点。这些节点就是dom都行。常见的我们绑定元素的ID就是操作一个个dom对象。

四、NodeJs的特性 (我觉得初学者就应该了解,并不一定说nodeJS只是单纯的学习如何使用)

1》单线程

2》非阻塞IO模型

3》事件驱动

五、NodeJs安装 (百度、现有的资料太多了)

哈哈哈哈

六、Node语法

1、例如安装 : npm install jquery , npm install express …等等。
2、使用第三方的模块 var express = require(“express”)
3、读取本地的文件 “aaa.txt”

//想要读取文件,必须使用到nodeJs的核心模块中的fs 
var file = require("fs")  

file.readFile("./file/aaa.txt",function(error,data){
	//根据error对象来对终端进行有效的响应
	if(error){
		console.log("读取失败");
	}else{
		console.log("读取成功,内容为 :"+data.toString());
	}
})

4、使用到第三方其它资源时候的引入 import axios from ‘./router/axios’
5、写入文件

//写文件require("fs")
var file = require("fs");

//如果写入的文件本身不存在,那么则创建一个文件(根据下述指定的路径,以及文件名来创建文件)
//如果写入的文件本身有内容,那么新内容会将原有的内容覆盖掉,而不是追加新内容
//error文件写入失败的对象
file.writeFile("./file/abc.txt","abcdef123",function(error){
	if(error){
		console.log("写入失败");
	}else{
		console.log("写入成功");
	}
})

6、通过nodejs生成一台服务器(重点)


//加载核心模块
//参数:http 加载服务端相应的核心模块
var http = require("http");

//通过核心模块对象http,调用createServer()方法,创建一个服务端对象
var server = http.createServer();


//通过server开启服务器
//调用监听的方法listen,来开启服务
/*

	listen方法:
		参数1:端口号 8000(自己去设置端口号)
		回调函数:服务器开启后,调用该方法

*/
server.listen(8000,function(){

	console.log("服务器已经开启...");

})
/*
	on方法:接收并处理服务器
		参数1:"request":表示用来接收请求
		参数2:回调函数 在服务器接收请求后,在该函数中处理请求
	
	打开浏览器:
		http://localhost:8000
	
	服务端在处理完请求后,为浏览器做出一个响应
	
	回调函数中提供两个参数
		request:表示请求对象,对于请求相关内容的处理
		response:表示响应对象,对于响应相关内容的处理
				  类似于javaweb开发中的servlet(service方法中的参数)
*/
server.on("request",function(request,response){
	
	//判断请求路径
	// /表示服务的根路径
	// /favicon.ico表示node.js默认接收的请求
	// /favicon.ico如果存在,我们在处理请求时屏蔽掉即可
	var url = request.url;

	//说明是我们自己的路径
	if(url!="/favicon.ico"){
		console.log("请求路径为:"+url);
		response.end("abc123123");
	}
})

ok,关于其它nodeJs的应用就太多了,目前使用最后的结合前端框架vue react等等来使用第三方模块多一点。然后我们的npm yarn 命令来安装第三方资源。打包的时候webpack来打包我们的前端代码。

如果你还有想了解更多nodeJs的可以一起交流学习。目前我也只一年经验。太深的就没有写上。
晚安~~~

-----------------end

Logo

前往低代码交流专区

更多推荐