day24-nodejs基础
day24-nodejs基础一、nodejs介绍
1.简介
nodejs是一个软件,提供了js的运行环境
2.nodejs使用注意事项
没有window、document,不需要写dom和bom,只剩下ECMAScript
3.nodejs运行
命令行中node进入控制台
node js文件名称
二、简单命令 盘符:----------进入某个盘符
cd /d 目录: ----------进入某个目录
cd .. ----------回到上一级
dir ----------查看当前文件夹中的所有文件和文件夹
tree ----------查看当前文件夹中的所有文件和文件夹包括子文件夹及其文件,树状结构
cls----------清屏
ipconfig ----------查看当前电脑的网管信息
systeminfo ----------查看当前电脑的配置信息
md 文件夹名字 ----------新建文件夹
rd 文件夹名字 ----------删除文件夹
type nul> 文件名 ----------新建文件
echo 内容 > 文件名 ----------给文件中写入内容
ren 文件名 新文件名 ----------将文件重命名
del 文件名 ----------删除一个文件
三、模块化开发
1.IIFE---伪模块开发
解决了全局污染的问题
无法解决文件依赖问题
2.AMD
解决了文件依赖关系的问题
首屏加载很慢,后续操作很流畅
3.CMD
实现了文件的按需加载,首屏加载很快
后续操作不是很流畅
4.ES6---***
运行在服务器环境中
script标签必须有 type='module'属性 向外共享模块成员用export关键字
导入其他模块成员用import关键字
默认导出语法:export default 默认导出的成员----每个模块只允许使用一次export default
默认导入语法: import 接受名称 from '模块标识符'
按需导出语法:export 按需导出的成员
按需导入语法:import {xxx} from '模块标识符'
export var a = '小狗'--这种导出用import {解构} from '文件'或者用import * as 对象 from '文件'
5.CommonJs规范---*****
只适用于nodejs
导出:module.exports = 数据 ----exports.键 = 值
注意:不能给exports赋值
导入:require('文件路径')---后缀可以省略,./不能省略
四、内置模块
1.fs--文件系统
引入内置模块: const fs = require('fs')
writeFile--给文件写入内容的,文件不存在会自动创建,覆盖写入,异步方法
语法:fs.writeFile(文件路径,待写入的数据,err => {})
writeFileSync--给文件写入内容的,文件不存在会自动创建,覆盖写入,同步方法
语法:fs.writeFileSync(文件路径,待写入的数据)
readFile---异步读取文件
如果添加了第二个参数 - 'utf-8' 就不用转buffer了,直接读取到字符串了
fs.readFile(文件路径, 'utf-8’,(err,data) => {}) // 异步读取文件
readFileSync---同步读取文件
如果添加了第二个参数 - 'utf-8' 就不用转buffer了,直接读取到字符串了
fs.readFileSync(文件路径, 'utf-8’) // 同步读取文件
existsSync - 判断所给的路径是否存在
fs.existsSync('文件路径')
stat - 获取路径的信息
fs.stat('文件路径', (err, stats) => { }// stats表示获取到的信息
stats.isFile()---判断路径是否是文件
isDirectory()---判断是否是文件夹
appendFile - 异步给文件追加内容
fs.appendFile('文件路径', '文本内容', (err) => {}
fs.appendFileSync('./a.txt', 'abc')--- 同步追加
renameSync - 重命名文件
fs.renameSync('原文本名', '新文本名')
unlinkSync - 删除文件
fs.unlinkSync('文本名')
2.os 引入:const os = require('os')
换行 - EOL - end of line------------os.EOL
获取cpu信息 - cpus()---------------os.cpus()
获取总内存 - totalmem()------------os.totalmem()---单位是字节
获取当前空闲内存 - freemem()---------os.freemem()
3.path 引入:const path = require('path')
join - 将多个字符串拼接成一个路径的-----path.join('/a', 'b', 'c')------/在服务器环境中,代表根目录
basename - 获取路径中的文件名称(不包含目录)---path.basename(str)
dirname - 获取路径中的目录部分(不包含文件名称)---path.dirname(str)
extname - 获取路径中的文件后缀---path.extname(str)
4.url
引入:const url = require('url')
parse - 解析url网址-------url.parse(str)
resolve - 根据url的规则拼接新的url网址-------url.resolve(str, '../../d/e/fs.html')
5.querystring
引入:const qs = require('querystring') // 专业处理查询字符串
stringify--或encode----qs.stringify(obj)---- - 将一个对象转成 地址栏中的数据部分 字符串
parse - ----或decode--------qs.parse(str)-------------将地址栏中的数据部分 字符串 转成对象
6.http-----*
引入:const http = require('http')
创建服务器 - 当客户端访问来给客户端做响应,给createServetr添加函数参数
const server = http.createServer((request, response) => {}//request - 请求----response - 响应
response.write('this is my server!') // 响应内容的方法
response.end() // 结束这次响应的方法-------end方法也可以响应内容
指定端口号 - 0~65535,给7000以上的数字
server.listen(9527, () => { // 服务器运行起来后执行的代码 }
转载自:https://segmentfault.com/a/1190000043494887