P07:node內置模塊 fs(2)

相關文章

今天來說一下其餘經常使用的fs直屬apinode

fs.Stat

  • 對象提供了關於文件的信息
    const fs = require('fs')
    fs.stat('./11_fs_stat.js',(err, stats) => {
        if (err) throw err
        console.log(stats.isFile()) // 是否爲文件 true
        console.log(stats.isDirectory()) // 是否爲文件夾 false
        console.log(stats) // 全部信息 ...
    })
    複製代碼

特殊技巧api

// stats對象的使用技巧 判斷一個文件是否是存在
    fs.stat('./11111_fs_stat.js',(err, stats) => {
        if (err) {
            // 只要報錯,那麼就說明文件不存在
            console.log('文件不存在,以及其餘業務邏輯')
            return
        }
    })
複製代碼

fs.rename

  • 修改文件名
const fs = require('fs')
fs.rename('./test.js', 'test.txt', (err) => {
    if (err) throw err
    console.log('done!')
})
複製代碼

fs.unlink

  • 刪除文件
const fs = require('fs')

fs.unlink('./test.txt', err => {
    if(err) throw err
    console.log('done!')
})
複製代碼

fs.readdir

  • 讀取文件夾
const fs = require('fs')
fs.readdir('./', (err, files) => {
    if(err) throw err
    // 注意是將全部的下屬文件名,置於一個array
    console.log(files)
})
複製代碼

fs.mkdir

  • 建立一個文件夾
const fs = require('fs')

fs.mkdir('test', (err) => {})
複製代碼

fs.rmdir

  • 刪除文件夾
const fs = require('fs')
// 不寫回調函數
fs.rmdir('./test')
/**
 * 報錯
 * fs.js:137
    throw new ERR_INVALID_CALLBACK();
    ^

    TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
 */
// 一部不寫回調函數會報一個警告,可是在後續的版本中會報錯,異步均須要編寫回調函數
複製代碼
const fs = require('fs')
fs.rmdir('./test', err => {}) 推薦
複製代碼

fs.watch (還有一個相似fs.watchFile)

  • 監視文件變化
  • fs.watch 的 API 在各個平臺上並不是 100% 一致,在某些狀況下不可用。僅在 macOS 和 Windows 上支持 recursive 選項
  • 處理文件中很是有用
const fs = require('fs')
// 回調函數一參數爲改變的類型,二參數爲改變的文件
// recursive 回調監聽子文件夾;
fs.watch('./',{recursive: true},(eventType, filename) => {
    console.log(eventType, filename)
})
複製代碼

至此經常使用的api以及內置模塊介紹完畢,下面將會介紹靜態服務器。bash

close服務器

相關文章
相關標籤/搜索