美文网首页
nodejs基本模块

nodejs基本模块

作者: 宋song一 | 来源:发表于2018-12-14 22:59 被阅读2次

    启用strict模式的方法是在JavaScript代码的第一行写上:
    'use strict';

    1. 查看全局变量
      node环境下输入global.console(浏览器环境下window.console)

    以下变量虽然看起来像全局变量,但实际上不是。 它们的作用域只在模块内

    1. process
      查看当前Node.js进程
      process === global.process;
      process.cwd(); //返回当前工作目录
      要在下一次事件响应中执行代码,可以调用process.nextTick()。传入process.nextTick()的函数不是立刻执行,而是要等到下一次事件循环

    2. 判断JavaScript执行环境
      if (typeof(window) === 'undefined') {
      console.log('node.js');
      } else {
      console.log('browser');
      }

    3. fs文件/文件夹操作
      服务器启动时如果需要读取配置文件,或者结束时需要写入到状态文件时,可以使用同步代码,因为这些代码只在启动和结束时执行一次,不影响服务器正常运行时的异步执行
      let statSync = fs.statSync('a.txt');
      console.log(statSync)
      console.log(statSync.size)

      删除文件
      fs.unlink('a.txt',err=>{
      if(err) throw err
      })

      删除空文件夹
      fs.rmdir('a',err=>{
      if(err) throw err
      })
      删除非空文件夹,使用第三方库,如fs-extra

    fs.watch()fs.watchFile()fs.unwatchFile() 更高效。 建议使用 fs.watch() 而不是 fs.watchFile()fs.unwatchFile()

    1. stream流的读写
    let readStream = fs.createReadStream('C:\\ubuntukylin-18.04.1-enhanced-amd64.iso');
    let writeStream = fs.createWriteStream('a.iso');
    let size=0
    readStream.on('data',chunk=>{
        size+=chunk.length
        console.log(`${chunk.length}字节`)
        writeStream.write(chunk)
    })
    readStream.on('end',()=>{
        console.log('end'+size)
    })
    

    写入也可以

    var fs = require('fs');
    
    var ws1 = fs.createWriteStream('output1.txt', 'utf-8');
    ws1.write('使用Stream写入文本数据...\n');
    ws1.write('END.');
    ws1.end();
    
    var ws2 = fs.createWriteStream('output2.txt');
    ws2.write(new Buffer('使用Stream写入二进制数据...\n', 'utf-8'));
    ws2.write(new Buffer('END.', 'utf-8'));
    ws2.end();
    

    所有可以读取数据的流都继承自stream.Readable,所有可以写入的流都继承自stream.Writable。

    让我们用pipe()把一个文件流和另一个文件流串起来,这样源文件的所有数据就自动写入到目标文件里了,所以,这实际上是一个复制文件的程序:

    'use strict';
    
    var fs = require('fs');
    
    var rs = fs.createReadStream('sample.txt');
    var ws = fs.createWriteStream('copied.txt');
    
    rs.pipe(ws);
    

    相关文章

      网友评论

          本文标题:nodejs基本模块

          本文链接:https://www.haomeiwen.com/subject/zkbnhqtx.html