NodeJs基础
Node安装环境
首先,我们参考官方的用例构建 http 服务,首先引入http模块,如下构建基础服务:
/**
* request 获取客户端传来的信息
* response 给客户端响应信息
*/
http
.createServer(function (request, response) {
//设置响应头
response.writeHead(200, { "Content-Type": "text/plain" });
//表示给我们页面上输出一句话并且结束响应
response.end("Hello World");
})
.listen(8081); //监听端口
console.log(“Server running at http://127.0.0.1:8081/”);
在之后我们可能会多次修改脚本,需要多次中断服务并且重启,为了高效开发,我们可以使用 supervisor 工具
先全局安装:npm install -g supervisor
使用时,在命令行用 supervisor app.js 代替 node app.js 即可
node之fs模块
const fs = require('fs')
//1、同步读取文件
const data = fs.readFileSync('./package.json')
console.log(data.toString())
//2、异步读取文件
fs.readFile('./package.json',(err,data) => {
console.log(data.toString())
})
//3、使异步读取文件变成同步读取
const {promisify} = require('util')
const readFile = promisify(fs.readFile) //使其变成promise的方式
readFile('./package.json').then(data => {
console.log(data.toString())
})
//4、使用async await
(async () => {
const {promisify} = require('util')
const readFile = promisify(fs.readFile) //使其变成promise的方式
const data = await readFile('./package.json');
console.log(data.toString())
})()
Buffer
const buf1 = Buffer.alloc(10) //分配一个10字节大小的新Buffer
console.log(buf1)
const buf2 = Buffer.from([1,2,3]);
console.log(buf2);
const buf3 = Buffer.from('Buffer创建方法')
console.log(buf3.toString())
buf1.write('hello');
console.log(buf1);
const buf4 = Buffer.concat([buf1,buf3])
console.log(buf4.toString())
console.log(buf4.toJSON());
http模块
const http = require('http')
const fs = require('fs');
const server = http.createServer((req,res) => {
const {url,method} = req;
if(url === '/' && method === 'GET'){
fs.readFile('index.html',(err,data) => {
if(err){
res.writeHead(500,{'content-type':'text/plain;charset=utf-8'});
res.end('server error');
}else{
res.statusCode=200;
res.setHeader('content-type','text/html');
res.end(data);
}
})
}else if(url === '/users' && method === 'GET'){
res.writeHead(200,{'Content-Type':'application/json'})
res.end(JSON.stringify({name:'xia'}))
}
})
server.listen(3313)
express框架介绍和使用
MongoBD数据库
回调函数