تغییرات نسخه ی 8.5 Node.js
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 2 دقیقه

تغییرات نسخه ی 8.5 Node.js

به تازگی نسخه ی 8.5 از Node.js منتشر شده و ویژگی های جدید هیجان انگیزی به هسته ی Node.js اضافه شده. در این مقاله می خواهیم به این تغییرات بپردازیم.

ماژول ECMAScript در Node.js

یکی از ضروری ترین ویژگی های مورد نیاز Node.js این بود که از ESM پشتیبانی کنه. که یعنی شما بتونید از کلیدواژه ی import بدون انتقال کد, استفاده کنید. پس شما الان دیگه این دسترسی رو دارید و میتونید مثلا تکه کد زیر رو اجرا کنید :

import fs from 'fs'

فقط باید به دو نکته توجه کنید, اولا اینکه فایل رو با فرمت mjs نامگذاری کنید و ثانیا Node.js رو با تگ experimental-modules-- اجرا کنید.

فعلا استفاده از ESM محدودیت هایی در Node.js داره :

  • ()import منتظر انتشار نسخه جدید V8 برای استفاده در Node.js هست.
  • import.meta منتظر V8 هست تا شاملش کنه.
  • ('require('./foo.mjs پشتیبانی نمیشه.

شما میتونید متناظر درخواست های pull رو اینجا مشاهده کنید.

قلاب های عملکرد

پیاده سازی اولیه از API زمان بندی عملکرد هم با ورژن 8.5 Node.js می آید.

API های ()mark و ()measure زمان بندی کاربر پیاده سازی شدند, این یکی از ویژگی های Node.js برای اندازه گیری زمان loop رویداد هست.

شما میتونید به شکل زیر ازش در ورژن 8.5 Node.js استفاده کنید :

const { performance } = require('perf_hooks')  

performance.mark('A')  

setTimeout(() => {  

  performance.mark('B')

  performance.measure('A to B', 'A', 'B')

  const entry = performance.getEntriesByName('A to B', 'measure')

  console.log(entry.duration)

}, 10000)

برای یادگیری بیشتر, از مستندات رسمی زیر استفاده کنید :

https://nodejs.org/api/perf_hooks.html

کپی فایل با ماژول هسته ی fs

ورژن Node.js 8.5 ویژگی فایل سیستم خوبی رو به همراه داره - حالا شما میتونید فایل ها رو بوسیله ی ماژول هسته ی fs کپی کنید!

const fs = require('fs')

fs.copyFile('source.txt', 'destination.txt', (err) => {  

  if (err) {

    // handle error properly, not just console.log

    return console.error(err)

  }

  console.log('source.txt was copied to destination.txt')

})

لیست سایر تغییرات مهم

  • Snapshot ها در V8 مجددا فعال شدند.
  • پیاده سازی حداقلی ()console.group
  • آپگرید libuv به 1.14.1 
  • آپدیت nghttp2 به v1.25.0
  • گزینه ی verbatim به ()dns.lookup اضافه شد.
  • فعالسازی ردیابی استک های غیرهمزمان
  • napi - پیاده سازی promise

لیست کامل

امیدواریم با این ویژکی های جدید اضافه شده شما میتونید کتابخانه ها و اپلیکیشن های بزرگ تر و بهتری با Node.js بسازید! 

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

مقالات برگزیده

مقالات برگزیده را از این قسمت میتوانید ببینید

مشاهده همه مقالات