华清远见重庆中心-后端开发技术

一、node.js模块化,npm包管理

1 common.js模块化

common.js 是 非浏览器导入导出js模块的一种语法

使用 exports 进行导出,通过给 module.exports 赋值来导出任意内容

exports.add=add;

module.exports = {

name, add

}

p s:module.exports 通常写到代码的最下方

使用 require 函数进行模块导入:const m1 = require('./modules/module1.js')

2 es模块化

es模块化就是 EcmaScript 语法下的模块化语法

export 导出:

1:定义并导出:export const sex = 'male'

2:先声明后导出 :

let name = '张三';

let age = 17

export {

name,

age

}

导入 默认导出的内容

import m1 from './modules/module1.js'

导入模块中的所有内容并存入变量 m1

import * as m1 from './modules/module1.js'

二·fs文件系统

1:fs模块

fs.readFile:读文件

fs.writeFile:写文件

fs.readFileSync:同步读文件

fs.writeFileSync:同步写文件

fs.stat:读取文件状态

fs.readdir:读取目录

fs.mkdir:创建目录

fs.rmdir:删除目录 ps:目录中含有文件则无法删除

fs.unlink:删除文件

fs.access:查看路径是否存在

2·assert

断言

当断言的内容为真时,什么都不会发生

当断言失败时,会抛出一个 AssertionError 的异常并显示第二个参数的消息

assert(sex === 'female', '性别不是女的')

深度相等

assert.deepStrictEqual(stu1, stu2, '对象不相等')

正则判断

assert.match('bcd', /^ab/, '正则表达式不匹配')

3·cluster

集群

集群的含义就是一个事物的多个重复个体形成的群落

// 判断是否是主程序

if (cluster.isMaster) {

for (let i = 0; i < os.cpus().length; i++) {

// 每个cpu核心上开启一个从程序

cluster.fork()

}

} else {

console.log(process.pid, '从程序中执行的代码')

}

4·path

// 目录名称

console.log(path.dirname(p))

// 文件全称

console.log(path.basename(p))

// 扩展名

console.log(path.extname(p))

// 结合路径

console.log(path.join(p, '../', 'qwe'))

// join 函数,用于拼接文件路径,通常用来得到一个绝对路径

console.log(path.join('d:/test', '../abc', 'c:/efg', 'hello.js'))

5·promise

promise中文意思是承诺,承诺一定在做完promise自己的事后,然后再做后面的事情

promise工具让异步调用看上去像同步一样,减少开发者在异步开发时的负担,少出异步错误。

.catch:在链式调用的任一过程若报错或执行了reject,此处catch都能捕获到

.finally:无论如何都会执行finally

三·服务器理论基础

1·静态资源服务器

用于访问静态资源的服务器

// 定义静态资源文件夹

const staticDirPath = path.join(__dirname, 'public')

2·重定向

// 添加重定向的状态码

res.statusCode = '302'

// 添加重定向的路径

res.setHeader('Location', '/1.png')

四·express

1·http协议

Content-Type:

text/html | html文档

text/plain | 纯文本

image/jpeg | .jpg图片

image/png | .png图片

text/xml | xml文档

application/json | json数据

application/x-www-form-urlencoded | 表单url编码数据,例如:a=1&b=2&c=3

multipart/form-data | 上传文件时常看到

charset=utf-8 | 指定编码集

Status Code

200 | 请求成功

302 | 资源重定向

304 | 资源未改变,使用浏览器缓存

400 | 客户端请求的语法错误,服务器无法理解

403 | 权限不足 限制访问

404 | 资源未找到

500 | 服务器内部错误

503 | 请求超时

五·mongodb

1·基础命令

// 单个插入

db.user.insertOne

// 批量插入

db.game.insertMany

// 单个删除

db.game.deleteOne

// 批量删除

db.game.deleteMany

// 查询存在指定字段的记录

db.game.find

// 修改

db.game.update

// save保存

// 没有指定_id就插入一条新数据

db.game.save

// 查询数据量

db.game.count

2·查询器

- $eq: 匹配相等记录

- $gt、$gte: 匹配大于、大于等于的记录

- $in:匹配指定范围中的记录

- $lt、$lte:匹配小于、小于等于的记录

- $ne:匹配不等于指定值的记录

- $nin:匹配不在范围中的记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值