A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yby 中级黑马   /  2019-6-21 13:53  /  874 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Node三个组成部分
        包含.ECMAscript,全局成员,核心API成员。


打开命令行窗口的方式
按住shift  +  鼠标右键   打开 命令行窗口
win + r   运行面板 输入 cmd   
win  + r  运行面板   输入 powershell


环境变量的配置
此电脑 --> 鼠标右键 属性 ---->  高级系统设置  --->高级页签 --->环境变量 --->  系统变量  ---- > path  ---> 新增  路径粘贴
查找规则  当前目录中查找   查找不到 回去全局系统变量中查找


node运行js文件
node  文件名称.js
node       ------REPL   了解


常用命令行
切换盘符   c:  D:   
切换文件夹  cd ../  (上一级)   cd 文件夹名称(下一级)


let
有块级作用域
没有变量声明提升


const
声明常量
声明的常量必须赋值   而且是不能再修改常量的值
有块级作用域
没有声明提升


解构赋值
let obj = {
  a: 1,
  b: 2
}

obj.a     obj.b
let {a,b} = obj
let {a : 修改之后的变量名,b} = obj
console.log(a)
console.log(b)




箭头函数

function add(x, y) {
  return x + y
}

var add = (x, y) => {
  return x + y
}
var add = (x, y) =>  x + y   处理逻辑只有一行   将{} return  省略掉
var add = x=>  x +10   只有一个形参  () {} return  省略掉



对象中的属性和方法的简写

let a = 10
let b = 20
let obj = {
    a: a,
    b: b,
    fn:function(){}
}
-------------------------------------------------
let obj1 = {
    a,        属性 如果键和值一样a:a  可简写为 a
    b,        
    fn(){}    方法可以将 :function 省略
}





访问核心成员
        语法:require('核心成员的名称')
        例:const fs = require('fs')


文件操作模块
注:必须引入const fs = require('fs')

文件读取
        语法:1.导入fs文件操作模块【const fs = require('fs')】
                  2.fs.readFile('文件路径','编码格式', function(err,data){})
例:fs.readFile('读取文件的路径',[编码格式默认是null],(err,data)=>{})
//步骤1: 导入fs核心模块
const  fs = require('fs')
//步骤2: 调用fs.readFile  核心API读取文件
fs.readFile('./files/11.txt', 'utf-8', (err, data) => {
    // 读取文件成功  err是一个 null   读取文件失败  err 是一个错误对象
    if (err) return console.log('读取文件失败:' + err.message)
    console.log('读取文件成功,内容是' + data)
})



        注: 1.文件编码不能省略。
参数1:表示要读取的文件的路径
               参数2: 表示要以什么样的编码格式来读取指定的文件, 默认编码格式为 null ,可省略。
               参数3: 表示当文件读取完成,调用这个 callback 回调函数来处理读取的结果,第一个 参数,是 Error 对象,第二个参数,才是读取成功的结果,如果 err 为 null 就证明读取成功了,没有出错
       

写入文件
        语法:1.导入fs文件操作模块【const fs = require('fs')】
                  2.fs.writeFile('文件路径', '要写入的内容','编码格式可省略', function(err){})
//步骤1: 导入fs核心模块
const  fs = require('fs')5
fs.writeFile('文件路径名称', '写入的内容',[编码格式默认utf-8] ,(err) => {
    // 写入文件成功  err是一个 null   写入文件失败  err 是一个错误对象
    if (err) return console.log('写入文件失败:' + err.message)
    console.log('写入文件成功)
})

        注:1.如果在使用 fs.writeFile 的时候,要写入的文件不存在,则直接写入;如果要写入的文件路径已经存在,则会覆盖之前的文件。
               参数1: 路径字符串,表示要把文件内容,写入到哪个文件中
               参数2: 要写入的数据,可以给定一个 字符串
               参数3: 可选参数,表示 要以什么格式写入文件内容  默认以 utf8 格式写入文件【一般默认不传递第三个参数】
               参数4: 文件写入完成之后的 callback 回调函数,在回调函数中,只有一个形参,err 错误对象


文件追加
        语法:1.导入fs文件操作模块【const fs = require('fs')】
                  2.fs.appendFile('文件路径', '要追加的内容','编码格式可省略',function(err){})
//步骤1: 导入fs核心模块
const  fs = require('fs')
fs.appendFile('文件路径名称', '追加的内容',[编码格式默认utf-8] ,(err) => {
    // 追加文件成功  err是一个 null   追加文件失败  err 是一个错误对象
    if (err) return console.log('写入文件失败:' + err.message)
    console.log('追加文件成功)
})

        注:1.如果追加时候,要写入的文件不存在,则直接写入;如果要追加的文件路径已经存在,则会覆盖之前的文件。
               参数1: 表示要向哪个文件中追加内容,指定一个文件的路径
               参数2: 表示要追加的具体的内容,可以传递字符串内容
               参数3: 可选参数;表示 追加文本内容时候的编码格式,如果省略此参数,默认以 utf8 的格式追加内容
               参数4: 表示 追加完成之后的回调函数,有形参 err ,追加失败之后的错误结果


文件写入和文件追加共同特点
文件写入和文件追加的时候  如果文件不存在 都会新建文件   如果文件存在了 文件写入 writeFile  会将文件中的内容覆盖掉  appendFile 将内容追加


__dirname当前文件所在的绝对路径
语法:__dirname +'文件的相对路径'
fs.readFile(__dirname + '/files/1.txt', 'utf8', (err, data) => {
   if (err) return console.log(err.message)
   console.log(data)
})

        注:1.前面是双下划线。
               2.拼接路径时的相对路径不要加点,以/开头。
3.不依赖fs模块。
4.不包含文件的名称,只包含当前文件的根目录


__filename当前文件所在的完整路径
注:1.表示当前这个文件的 完整路径,路径中包含了具体的文件名。




读取文件信息fs.stat
语法:fs.stat( '文件路径', (err, stats) => {})
fs.stat(__dirname + '/files/1.txt', (err, stats) => {
   if (err) return console.log(err.message)
    console.log(stats.size) // 单位是 字节   Byte(文件大小)
    console.log(stats.birthtime)  // 2018‎年‎6‎月‎7‎日,‏‎18:19:11    2018-06-07T10:19:11.186Z
    console.log(stats.isFile()) // 通过 isFile() 方法判断是否为文件,返回布尔值
    console.log(stats.isDirectory()) // isDirectory() 判断是否为目录
})

注:1.第二个形参包含了一些属性和方法,方法需要加()。


复制文件 fs.copyFile
语法:fs.copyFile('读取文件的路径','复制只够新文件的路径', (err) => {})




path路径操作模块
注:必须引入const path = require('path')



path.join拼接路径
const path = require('path')
const fs = require('fs')
// 最佳实践:以后只要设计到路径拼接,一定要使用 path.join() 方法
fs.readFile(path.join(__dirname, './files/1.txt'), 'utf8', (err, dataStr) => {
  if (err) return console.log(err.message)
  console.log(dataStr)
})



path.sep
path.basename(path[, ext])
path.dirname(path)
path.extname(path)



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马