ماژول fs-extra برای Node.js

گردآوری و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 11 بهمن 1396
دسته بندی ها : نود جی اس

ماژول 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 استفاده کنید.

مقالات پیشنهادی

احراز هویت گوگل در Node.js

در این مقاله می خواهیم درمورد استفاده از احرازهویت گوگل در اپلیکیشن Node.js صحبت کنیم. برای شروع کار شما به یک پروژه اولیه node بهمراه پکیج ها و مدل ه...

اعتبارسنجی رشته ها در Node.js

اعتبارسنجی اطلاعات ورودی یک بخش مهم و ضروری برای هر نرم افزاریست. شما باید از طبیعت اطلاعات بخصوص اونهایی که از منابع خارجی می آیند, با خبر باشید.

تفاوت import و require در Node.js

از اونجایی که Node.js از ماژول بندی commonJS استفاده می کنه, من به فرآیند کاری Node با استفاده از ماژول های commonJS اشاره می کنم و برای ماژول های ECM...

یک فریمورک ماژولار برای Css

در این مقاله قصد دارم یک فریمورک ماژولار برای CSS با نام BlazeCSS رو به شما معرفی کنم که کاملا Open source است . این فریمورک این قابلیت را به شما میده...