大家好,我是Counterrr,生命不息学习不止。
Talk is cheap, Show me the bug.
本文目录
- 为什么要学
Node.js
; Node.js
是什么,有什么优点;Node.js
的安装;- 简单的
api
介绍;
1、为什么要学Node.js
?
1.1、 企业需求,加分项了解Node.js优先。
1.2.、丰富自己的技术栈,了解前后端交互过程。
1.3、 不在是单纯的写写页面,Node.js
可以让你具备基本的整站开发能力,全栈工程师。
2、Node.js
是什么?有什么优点
2.1、Node.js
不是一门语言,也不是框架,它是javascript
运行引擎,简单说以前的javascript
只能运行在浏览器里,现在可以用Node.js独立于浏览器运行。
2.2、Node.js
的优点:单线程、v8引擎、非阻塞IO、事件驱动。
3、Node.js
的安装。
3.1、去Node.js
官网傻瓜式一路安装到底。
3.2、安装好后,我们调出我们的命令行,输入node -v
会输出版本号,如下图就安装成功了:
安装好之后,我们来简单的运行一段代码,在命令行中先输入node
再输入console.log('Hello World!')
:
4、简单的api
介绍。
4.1、node
的文件读写fs
模块,首先我们现在桌面上创建node-demo
文件夹,拖到vscode
编辑器,在node-demo
文件夹下新建index.js
文件,并且写入代码:
const fs = require('fs');
fs.writeFile('./demo.txt', 'hello world!', (err) => {
console.log(err);
})
首先我们引入了fs
模块,这个模块具有读写文件的能力,紧接着我们调用了writeFile
函数,这个函数接收4个参数,writeFile(path: string | number | Buffer | URL, data: any, options: WriteFileOptions, callback: NoParamCallback)
。我们这里只传了3个参数,第一个参数在当前目录下创建demo.txt
文件,第二个参数在这个文件里写入hello world!
,第三个参数是一个回调函数,在文件创建失败的回调函数,并且接收一个参数,失败信息。接着在vscode
打开终端,输入node index.js
,我们发现当前目录下多了个demo.txt
,并且里面有内容hello world!
:
接着我们再来试试读文件,readFile函数,这个函数接收2个参数,
readFile(path: string | number | Buffer | URL, callback: (err: NodeJS.ErrnoException, data: Buffer) => void)`。代码如下:
fs.readFile('./demo.txt', (err, data) => {
console.log(err);
console.log(data);
})
接着我们再在命令行运行node index.js
:
我们可以发现,第一行null
是数据读取成功,错误就是null
,就是没有报错。第二行是什么,这是里面的内容发生了16进制编码,我们把console.log(data)
改为console.log(data.toString())
让它以字符串的形式打印出来:
我们看到成功打印出来了。
4.2、node
的web
服务器http
模块,我们在node-demo
文件夹下再新建一个http.js
文件,然后写入代码:
const http = require('http');
const app = http.createServer()
app.on('request', (req, res) => {
if (req.url == '/') {
res.end('index page')
}
else if (req.url == '/login') {
res.end('login page')
}
else if (req.url == '/signin') {
res.end('signin page')
}
else {
res.end('404 not found')
}
})
app.listen(3000, () => {
console.log('服务在3000端口开启')
})
我们首先引入了http
模块,接着创建了server
的实例,然后去监听了request
请求,传了一个回调函数,第一个参数是request
请求对象,可以获取客户端的请求信息,例如请求路径。第二个参数是response
响应对象,可以用来给客户端发送响应消息。
我们这边监听了根路径并且跟客户端返回index page
信息,/login
路径并且给客户端返回了login page
信息,/signin'
路径并且给客户端返回了signin page
信息,其他的路径全部响应404 not found
。并且在本地3000端口进行监听。好的我们打开命令行输入node http.js
来运行看看:
可以看到我们按照客户端给的不同路径响应了不同内容。