一,node基本知识
1.node是什么?
Node是一个基于Chrome V8引擎的JavaScript代码运行环境, node.js运行在node环境上面,node.js语法和js语法一样,只是加了一些api而已
2.node.js的顶级对象是 global
3.node.js模块化开发 就是文件抽离
module.exports.aaa = aaa // 导出模块
let a = require('./b.js') // 引入模块
二,fs 模块 文件操作
const fs = require('fs')
fs.readFile('../1.txt','utf-8',(con,err)=>{}) // 读文件
fs.writeFile('../1.txt','我是追加的数据',(err)=>{}) // 向文件中写入内容 会覆盖原始内容
fs.appendFile('../1.txt','我是追加的内容',(err)=>{}) //向文件中追加内容
fs.mkdir()
三,path模块 路劲模块
const path = require('path')
let findpath = path.join('a','b','c.css') //路劲拼接 a/b/c.css
let findpath = path.join(__dirname,'c.css') // 当前路劲 + c.css
四,node.js创建 web服务器
const http = Request('http')
const app = http.createServer()
app.on('request',(req,res)=>{
console.log('req是请求头');
console.log('res是响应头');
res.end('111')
})
app.listen(3000,()=>{console.log('服务器创建成功');})
1.get参数接收
const url = require('url')
app.on('request',(req,res)=>{
let {query} = url.parse(req.url,true)
})
2.post参数接收
// 导入系统模块querystring 用于将HTTP参数转换为对象格式
const querystring = require('querystring');
app.on('request', (req, res) => {
let postData = '';
// 监听参数传输事件
req.on('data', (chunk) => postData += chunk;);
// 监听参数传输完毕事件
req.on('end', () => {
console.log(querystring.parse(postData));
});
});
五,express框架
1.安装 npm i express
2.express 创建服务器
//注意:需要引入 express body-parser
const express=require('express');//引入第三方express框架
const app=express();//创建web服务
const path = require('path');//路径管理模块
app.use(express.static(path.join(__dirname, 'public')));//静态资源管理
const bodyParser = require('body-parser'); //处理post接收值的第三模块
app.use(bodyParser.urlencoded({ extended: false })); //接收post传值中间件
app.use(bodyParser.json()); //接收json传真中间件
app.listen(80,()=>{//监听端口
console.log('http://127.0.0.1');
});
3.express写的路由
app.use('/',(req,res)=>{}) // 监听所有的请求 不区分 post get
app.get('/',(req,res)=>{})
app.post('/',(req,res)=>{})
4.获取get参数 post参数
// 获取get参数
app.get('/', (req, res) => {
req.query // 获取get参数
})
// 获取post参数
// 引入body-parser模块
const bodyParser = require('body-parser');
// 配置body-parser模块
app.use(bodyParser.urlencoded({ extended: false }));
// 接收请求
app.post('/add', (req, res) => {
// 接收请求参数
console.log(req.body);
})
5.构建模块化 路由
const express = require('express')
// 创建路由对象
const home = express.Router();
// 将路由和请求路径进行匹配
app.use('/home', home);
// 在home路由下继续创建路由
home.get('/index', () => {
// /home/index
res.send('欢迎来到博客展示页面');
});
6.静态资源托管
app.use(express.static('public'));
发表评论