乐趣区

关于node.js:day24nodejs基础

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














退出移动版