ماژول fs-extra متدهایی برای فایل سیستم اضافه میکنه که در ماژول پایه ی fs وجود ندارند. این ماژول میتونه جایگزینی برای fs هم باشه. مستندات fs-extra
اگر با nodejs آشنا نیستید میتوانید دوره آموزش مقدماتی تا پیشرفته Nodejs رو مشاهده کنید.
چرا fs-extra
اگر از وارد کردن mkdirp, rimraf و ncp در پروژه هاتون خسته شدید, این ماژول میتونه راه حل شما مشکل شما باشه.
نصب
برای نصب از طریق npm بصورت زیر عمل کنید :
npm install --save fs-extra
طریقهی استفاده
همانطور که مطرح شد fs-extra میتونه جایگزینی برای fs باشه. تمام متدهای fs به fs-extra انتقال داده شده.
شما دیگه نیازی ندارید که ماژول fs رو وارد کنید.
const fs = require('fs') // this is no longer necessary
درعوض میتونید بدین صورت عمل کنید :
const fs = require('fs-extra')
یا اگر شما میخواهید مشخص کنید که بجای fs از fs-extra استفاده می کنید, میتونید نام متغیر رو fse بگذارید :
const fse = require('fs-extra')
در عین حال میتونید از هر دو هم استفاده کنید, هرچند اضافیه.
const fs = require('fs')
const fse = require('fs-extra')
Sync و Async
اکثر متدها بصورت پیشفرض async شدند. تمام متدهای async اگر callback فرستاده نشده باشه, یک promise برمی گردونند. متدهای Sync این کار رو اگر به خطا بخورند انجام می دهند.
مثال :
const fs = require('fs-extra')
// Async with promises:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
.then(() => console.log('success!'))
.catch(err => console.error(err))
// Async with callbacks:
fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
if (err) return console.error(err)
console.log('success!')
})
// Sync:
try {
fs.copySync('/tmp/myfile', '/tmp/mynewfile')
console.log('success!')
} catch (err) {
console.error(err)
}
متد ها
Async :
• copy
• emptyDir
• ensureFile
• ensureDir
• ensureLink
• ensureSymlink
• mkdirs
• move
• outputFile
• outputJson
• pathExists
• readJson
• remove
• writeJson
Sync :
• copySync
• emptyDirSync
• ensureFileSync
• ensureDirSync
• ensureLinkSync
• ensureSymlinkSync
• mkdirsSync
• moveSync
• outputFileSync
• outputJsonSync
• pathExistsSync
• readJsonSync
• removeSync
• writeJsonSync
نکته : شما همچنان میتونید از متدهای بومی Node.js استفاده کنید.
توجه کنید که متد های ()walk و ()walkSync حذف شده اند. اگر بهشون احتیاج دارید از پکیج های klaw و klaw-sync استفاده کنید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید