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, () => {    // 服务器运行起来后执行的代码 }