note.js 笔记第二课

第一部分:fs模块
    >1.引入fs模块
        >01.require('fs')
    >2.写文件
        >01.异步写:writeFile
            >001.fs.writeFile(path,data[,option],callback)
            >002.path:文件路径
            >003.data:写的内容,string/buffer
            >004.option:配置参数:比如:{encoding:'utf8'}
            >005.callback(err):回调函数
        >02.同步写:writeFileSync
            >001.fs.writeFileSync(path,data[,option])
    >3.追加内容
        >01.异步追加内容:appendFile
            >001.fs.appendFile(path,data[,option],callback)
        >02.同步追加内容:appendFileSync
            >001.fs.appendFileSync(path,data[,option])
    >4.创建文件夹
        >01.异步:mkdir
            >001.fs.mkdir(path,callback)
        >02.同步:mkdirSync
            >001.fs.mkdirSync(path)
    >5.读文件
        >01.异步读取:readFile
            >001.fs.readFile(path,callback)
            >002.path:文件路径
            >003.callback(err,data):读取的buffer
        >02.同步读取:readFileSync
            >001.fs.readFile(path)
    >6.读文件夹
        >01.异步读取:readdir
            >001.fs.readdir(path,callback)
        >02.同步读取:readdirSync
            >002.fs.readdirSync(path)
    >7.判断文件/文件夹是否存在
        >01.异步判断:exists
            >001.fs.exists(path,callback)
            >002.callback(res):回调,res:true/false
        >02.同步判断:existsSync
            >001.fs.existsSync(path)
    >8.删除文件/文件夹
        >01.删除文件:unlink/unlinkSync
        >02.删除文件夹:rmdir/rmdirSync
    >9.更改文件/文件夹路径
        >01.异步:rename
            >001.fs.rename(oldpath,newpath,callback)
        >02.同步:renameSync
            >001.fs.renameSync(oldpath,newpath)
    >9.监听文件夹
        >01.fs.watch(dirname,listener)
        >02.dirname:文件夹路径/文件路径
        >03.listener(event,filename)
        >04.event:'rename/change'
        >05.filename:改变的文件名
    >10.监听文件
        >01.fs.watchFile(filename,listener)
        >02.filename:文件路径
        >03.listener(curr,prev)
        >04.curr:当前文件
        >05.prev:之前文件
        >06.fs.unwatchFile(filename,listener)

    >11.其他
        >01.获取物理路径:realpath(path,callback(err,resolvePath))/realpathSync(path)
        >02.获取文件信息:stat(path,callback(err,stat))
        >03.打开文件:fs.open(path,flags,callback(err,fd))
            >001.flags:r    以读取模式打开文件。如果文件不存在抛出异常。
                       r+   以读写模式打开文件。如果文件不存在抛出异常。
                       rs   以同步的方式读取文件。
                       rs+  以同步的方式读取和写入文件。
                       w    以写入模式打开文件,如果文件不存在则创建。
                       wx   类似 'w',但是如果文件路径存在,则文件写入失败。
                       w+   以读写模式打开文件,如果文件不存在则创建。
                       wx+  类似 'w+', 但是如果文件路径存在,则文件读写失败。
                       a    以追加模式打开文件,如果文件不存在则创建。
                       ax   类似 'a', 但是如果文件路径存在,则文件追加失败。
                       a+   以读取追加模式打开文件,如果文件不存在则创建。
                       ax+  类似 'a+', 但是如果文件路径存在,则文件读取追加失败。
        >04.写文件:fs.write(fd,buffer,offset,length,position,callback(err,bytes))
        >05.读文件:fs.read(fd,buffer,offset,length,position,callback(err,bytes))
        >06.关闭文件:fs.close(fd,callback(err))
----------------------------------------------------------------------------------------------
第二部分:url模块
    >1:用于解析,生成,拼接url
    >2:http://127.0.0.1:3000/list.html?aa=10&bb=20#/ddd
        >01.url.parse(str,parsequerystring)
        >02.parsequerystring:true/false
            >001.如果为true,则url.query={aa:10,bb:20}
            >002.如果为false,则url.query='aa=10&bb=20'
        >03.url.format(myurl) //转化为字符串
    >3:url实体字段:
        >01.protocol:协议
        >02.host:主机,包含端口
        >03.hostname:主机名
        >04.port:端口
        >05.hash:hash参数
        >06.search:?参数
        >07.query:url参数
        >08.pathname:路径
        >09.path:含参数的路径
        >10.href:完整链接
---------------------------------------------------------------------------------
第三部分:querystring
    >1:parse(querystr,sep,eq,option)
        >01.option:maxKeys:1000
        >02.sep:参数之间的分隔符
        >03.eq:参数的赋值连接符
    >2:stringify(obj,sep,eq,option)
    >3:escape
        >01:编码
    >4:unescape
        >01:解码
---------------------------------------------------------------------------------
第四部分:path
    >1:normalize:
        >01.标准化路径
        >02.生成物理路径
    >2:join
        >01.整合路径
        >02.join(path1,path2,...)
    >3:resolve
        >01.解析为绝对路径
        >02.resolve(cd1,cd2,cd3,....)
        >03.相当于一次次的调用cd命令
    >4:relative
        >01.解析相对路径
        >02.relative(from,to)
        >03.解析从from到to的相对路径
            >001.from为文件夹路径
    >5:dirname
        >01.路径所在文件夹路径
        >02.dirname(path)
    >6:basename
        >01.路径的最后一部分
        >02.basename(path[,ext])
        >03.ext:想要去掉的文件后缀名
    >7:extname
        >01.后缀名
        >02.extname(path)
    >8:sep
        >01.获取平台的文件路径分隔符
        >02.path.sep
    >9:delimiter
        >01.获取平台的路径分割符,比如c:  ;
        >02.path.delimiter
---------------------------------------------------------------------------------
第五部分:路径的系统变量
    >1:__dirname
        >01.当前文件夹
    >2:__filename
        >01.当前执行文件的完整路径
-------------------------------------------------------------------------
第七部分:练习
    >1.fs+path练习
        >01.判断 当前路径下的public是否存在,不存在则创建
        >02.判断 public下的index.html文件是否存在,不存在则创建  <h1>index</h1>
        >03.创建成功,取出来数据,添加到当前路径下的static文件夹下的index.html里
     2.合并js文件
    01:循环js文件夹下所有js文件,合并到一个js文件里
    02.如果js文件夹下还有子文件夹,循环子文件夹里面所有的js,也合并到条件1中的同一个js文件中



原文地址:https://www.cnblogs.com/lwwnuo/p/7651631.html