Skip to content

Node.js 笔记

HTTP 服务与模块

js
//建立服务器
const http = require('http');
//http.createServer()实际上是监听request事件
const server = http.createServer((req,res)=>{
  
  let data='';
  req.on('data', (chunk)=>{
  	data += chunk;
  })
  req.on('end', ()=>{
  	console.log('数据传输完毕!')
  })
  res.writeHead(200,{'Content-Type':'text/plain'});//向请求客户端发送响应头
  res.write(data)
  res.end('Hello World\n');
}).listen(3000);

var a=require('./xx.js'); //导入,对于文件模块"./"指代当前路径

module.exports=copy;//导出

文件与目录操作

js
//文件操作
var fs=require('fs');
fs.writeFileSync(file,data,[options]);//同步写入
fs.writeFile(file,data,[options],callback);//异步写入
fs.appendFile(file,data,[options],callback)//向文件中追加内容
fs.readFile(file,[options],callback)//读取文件
//复制文件实例
fs.readFile('e:/a.txt',function(err,data){})
fs.readFileSync()
fs.writeFile('e:/c.txt',data.toString(),function(err){})
//目录操作
fs.mkdir(path,[mode],callback)//创建目录
fs.readdir(path,callback)//读取目录
fs.rmdir(path,callback)//删除目录,callback无参数,目录必须为空
fs.unlink(path,callback)//删除文件

fs.readFileSync

跨域与编码

js
node解决跨域:
npm i cors --save
var cors = require('cors');
app.use(cors());

canvas转base64:canvas.toDataURL()
canvas转image:canvas.toBuffer()
//注意new Buffer(buffer)已废弃
ArrayBuffer转base64:Buffer.from(data).toString('base64')

管道流

js
//管道流
var fs = require("fs");
// 创建一个可读流
var readerStream = fs.createReadStream('input.txt');
// 创建一个可写流
var writerStream = fs.createWriteStream('output.txt');
// 管道读写操作
// 读取 input.txt 文件内容,并将内容写入到 output.txt 文件中
readerStream.pipe(writerStream);

EJS 模板语法

html
<% '脚本' 标签,用于流程控制,无输出。
<%_ 删除其前面的空格符
<%= 输出数据到模板(输出是转义 HTML 标签)
<%- 输出非转义的数据到模板
<%# 注释标签,不执行、不输出内容
<%% 输出字符串 '<%'
%> 一般结束标签
-%> 删除紧随其后的换行符
_%> 将结束标签后面的空格符删除