1. 什么是Node.js
Node.js是一个基于 Chrom V8 引擎的 JavaScript 运行环境。
2.Node.js中的JavaScript 运行环境
注意:① 浏览器是JavaScript的前端运行环境。
② Node.js 是 JavaScript 的后端运行环境。
③ Node.js 中无法调用DOM和BOM等浏览器内置API
3.什么是终端
4.在Node.js环境中执行JavaScript代码
① 打开终端
② 输入 node 要执行的js文件的路径
2.fs.readFile()的语法格式
2.2判断文件是否读取成功
3. 向指定的文件中写入内容
3.1 fs.writeFile() 的示例代码
3.2 判断文件是否写入成功
// 导入fs模块
const fs = require('fs');
fs.readFile('./files/成绩.txt', 'utf-8', function (err, dataStr) {
if (err) {
return console.log('读取文件失败' + err.message)
}
// console.log('成绩读取成功' + dataStr)
// 4.1先把成绩的数据,按照空格进行分割
const arrOld = dataStr.split('')
// 4.2循环分割后的数组,对每一项数据,进行字符串的替换操作
const arrNew = []
arrOld.forEach(item => {
arrNew.push(item.replace('=', ':'))
})
// 把新数组中的每一项,进行合并,得到一个新的字符串
const newStr = arrNew.join('\n')
console.log(newStr)
//调用fs.writeFile()方法,把处理完毕的成绩,写入到新文件中
fs.writeFile('./files/成绩.txt',newStr,function(err){
if(err){
return console.log('写入文件失败' + err.message)
}
console.log('成绩写入成功!')
})
})
解决方法 2:
path.join()
方法中会抵消它前面的一层路径2 获取路径中的文件名
获取路径中的文件扩展名
1.什么是http模块
2. 进一步理解http模块的作用
3. 1服务器相关概念
3.2域名和域名服务器
3.3端口号
4. 1创建web服务器
4.2创建web服务器步骤
4.2 req请求对象
4.3 res响应对象
4.4解决中文乱码问题
4.5 根据不同的url响应不同的html内容
1.1什么是模块化
2.1Node.js中模块的分类
2.2加粗样式
2.3Node.js中的模块作用域
2.3.2模块作用域好处
2.4.1module.exports对象
2.4.2向外共享模块作用域中的成员
module.exports={}
指向什么 才会导出什么2.4.3 exports对象
2.3.4 exports 和 module.exports的使用误区
2.5Nod3.js中的模块化规范
1.1什么是包
1.2包的来源
1.3为什么要包
1.4从哪下载包
1.5如何下载包
2.1npm使用方法实例
2.3初次安装包后多了那些文件
2.4安装指定版本的包
3.3快速创建package.json
3.4dependencies节点
3.5一次性安装所有的包
3.6卸载包
3.7 devDependencies节点
--save-dev(-D)
书写位置顺序可以调换4.1为什么下包速度慢
4.2淘宝NPM镜像服务器解决下包慢
4.3 切换npm的下包镜像源
5.1项目包分类
5.2全局包
6.1包的结构规范
3.7 开发属于自己的包
3.7.1初始化包的基本结构
3.7.2初始化package.json
3.7.3在index.js中定义转义HTML方法
function htmlEscape(htmlStr){
return htmlStr.replace(/<|>|"|&/g,(match)=>{
switch(match){
case'<':
return '<';
case'>':
return '>';
case'"':
return '"';
case'&':
return '&';
}
})
}
3.7.4在index.js中定义还原HTML方法
function htmlUnEscape(str){
return str.replace(/<|>|"|&/g,(match) => {
switch(match){
case'<':
return '<';
case'>':
return '>';
case'"':
return '"';
case'&':
return '&';
}
})
}
3.7.5将不同功能进行模板化拆分
3.7.6编写包的说明文档
3.8发布包
3.8.1注册npm账号
4.1.1 优先从缓存中加载
4.1.3 自定义模块的加载机制
4.1.5 目录作为模块
1.1.1 什么是express
1.1.2 Express能做什么
$ mkdir myapp
$ cd myapp
$ npm init
$ npm install express --save
$npm install express --no-save
1.1.3 搭建运行Express服务器
//创建express服务器
const express = require('express');
const app = express()
const port = 80
//发送get请求
app.get('/',(req,res)=>{
//发出响应
res.send('hello wolrd')
})
//listen监听启动服务器
app.listen(80,()=>{
console.log('80端口监听中...')
})
$ node myapp.js
https://127.0.0.1:80
1.1.5 把内容响应给客户端
1.2.1 获取 URL 中携带的查询参数
// req.query参数获取测试
app.get('/',(req,res)=>{
console.log(req.query);
res.send(req.query);
})
1.2.2 获取 URL 中的动态参数
// req.params参数获取测试
app.get('/user/:id',(req,res)=>{
// req.params是动态匹配到的 URL 参数,默认也是一个空对象
console.log(req.params)
res.send(req.params)
})
‘/user/:id/:name’
则在 postman 中输入两个参数才行!1.3.1 express.static()
1.3.2 托管多个静态资源目录
1.3.3 挂载路径前缀
nodemon
$ npm install nodemon -g
- 管理员身份打开 powershell
- 输入set-ExecutionPolicy RemoteSigned
- 输入 Y 或者 A ,回车
$ nodemon index.js
2.1.1 什么是路由
2.1.2 Express 中的路由
2.2路由的使用
2.2.1 模块化路由步骤
2.2.3 注册路由模块
2.2.4 为路由模块添加前缀
3.1.1 什么是中间件
3.1.3 Express中间件的格式
3.1.4 next函数的作用
3.2.1 定义中间件函数
3.2.3 定义全局中间件的简化形式
3.2.4 中间件的作用
3.2.5 定义多个全局中间件
3.2.7 定义多个局部中间件
3.2.8 中间件五个使用事项
3.3.2 路由级别的中间件
3.3.3 错误级别的中间件
3.3.4 Express内置的中间件
3.3.4.1 JSON格式中间件
3.3.4.2 URL-encoded格式中间件
3.3.3 第三方的中间件
3.4.1 需求与实现步骤
3.4.2 监听req的 data 事件
3.4.3 监听req的end事件
3.4.3 使用 querystring 模块解析请求体数据
4.4.1 接口的跨域问题
4.4.2 接口的跨域问题
4.4.3 什么是CORS
4.5.1 CORS响应头部: Acess-Control-Allow-Origin
4.5.2 CORS 响应头部:Access-Control-Allow-Headers
4.5.3 CORS 响应头部:Access-Control-Allow-Methods
4.5.5 预检请求
4.6.1 JSONP 的概念与 特点
4.6.3 实现 JSONP 接口的步骤
5.3.1 Excel 的数据组织结构
5.3.2 传统型数据库的数据组织结构
5.3.3 传统型数据库的数据组织结构
5.4.1 了解需要安装哪些MySQL 相关的软件
5.5.1 了解主界面的组成部分
5.5.3 创建数据表
5.6.1 什么是数据库
5.6.2 SQL 能做什么
5.6.4 SQL 的 INSERT INTO 语句 语法
5.6.4 SQL 的 UPDATE 语句 语法
5.6.5 SQL 的 DELETE 语句 语法
5.6.6 SQL 的 WHERE 语句 语法
5.6.8 SQL 的 ORDER BY 子句
5.6.8.1 ORDER BY 子句 - 多重排序
5.6.9 SQL的COUNT(*)函数
5.6.10 使用 AS 为列( count(*) ) 设置别名
5.7.1 在项目中操作数据库的步骤
5.7.3 配置mysql 模块
5.7.5 使用mysql模块操作MySQL数据库
5.1.4 前后端分离的优缺点
5.1.5 如何选择Web开发模式
5.4.1 安装express-session
5.4.2 配置 express-session 中间件
5.6.2 导入 JWT 相关的包
app.use(expressJWT({ secret:secretKey}).unless({ path:[/^/api//]}))