الفرق بين المراجعتين ل"Next.js/edge runtime"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:واجهة زمن التشغيل البرمجية الحدودية في Next.js }}</noinclude>
 
<noinclude>{{DISPLAYTITLE:واجهة زمن التشغيل البرمجية الحدودية في Next.js }}</noinclude>
تعتمد واجهة زمن التشغيل البرمجية الحدودية Edge Runtime API في Next.js على الواجهة البرمجية Web التي تُستخدم من قبل [[Next.js/middleware|الأداة الوسطية]] أو [[Next.js/api routes|وجهات API الحدودية]].
+
تعتمد واجهة زمن التشغيل البرمجية الحدودية Edge Runtime API في Next.js على الواجهة البرمجية Web التي تُستخدم من قبل [[Next.js/middleware|الأداة الوسطية]] أو [[Next.js/api routes|وجهات API الحدودية]].
  
 
== الواجهة البرمجية للشبكة ==
 
== الواجهة البرمجية للشبكة ==
سطر 22: سطر 22:
 
* <code>btoa</code>
 
* <code>btoa</code>
  
== الواجه البرمجية لنقل البيانات عبر ويب ==
+
== الواجهة البرمجية لنقل البيانات عبر ويب ==
  
 
* <code>ReadableStream</code>
 
* <code>ReadableStream</code>
سطر 108: سطر 108:
  
 
== متغيرات البيئة ==
 
== متغيرات البيئة ==
بإمكانك استخدام الملف <code>process.env</code> للوصول إلى [[Next.js/environment variables|متغيرات البيئة]] عبر <code>next dev</code> و <code>next build</code>. إن تنفيذ التعليمة <code>console.log</code> على <code>process.env</code> لن يعرض جميع متغيرات البيئة، وعليك ان تصل إلى المتغيرات مباشرة كالتالي:<syntaxhighlight lang="javascript">
+
بإمكانك استخدام الملف <code>process.env</code> للوصول إلى [[Next.js/environment variables|متغيرات البيئة]] عبر <code>next dev</code> و <code>next build</code>. إنّ تنفيذ التعليمة <code>console.log</code> على <code>process.env</code> لن يعرض جميع متغيرات البيئة، وعليك ان تصل إلى المتغيرات مباشرة كالتالي:<syntaxhighlight lang="javascript">
 
console.log(process.env)
 
console.log(process.env)
 
// { NEXT_RUNTIME: 'edge' }
 
// { NEXT_RUNTIME: 'edge' }

مراجعة 03:28، 18 يوليو 2022

تعتمد واجهة زمن التشغيل البرمجية الحدودية Edge Runtime API في Next.js على الواجهة البرمجية Web التي تُستخدم من قبل الأداة الوسطية أو وجهات API الحدودية.

الواجهة البرمجية للشبكة

  • addEventListener
  • Fetch
  • FetchEvent
  • Headers
  • Request
  • Response
  • URLSearchParams
  • FormData
  • File
  • Blob

الواجهة البرمجية للتشفير

  • TextDecoder
  • TextEncoder
  • atob
  • btoa

الواجهة البرمجية لنقل البيانات عبر ويب

  • ReadableStream
  • ReadableStreamBYOBReader
  • ReadableStreamDefaultReader
  • TransformStream
  • WritableStream
  • WritableStreamDefaultWriter

واجهة ويب البرمجية Crypto

  • crypto
  • CryptoKey
  • SubtleCrypto

واجهة ويب البرمجية المعيارية

  • structuredClone
  • URLPattern
  • Web Cache

أساسيات المحرّك V8

  • Array
  • ArrayBuffer
  • Atomics
  • BigInt
  • BigInt64Array
  • BigUint64Array
  • Boolean
  • clearInterval
  • clearTimeout
  • console
  • DataView
  • Date
  • decodeURI
  • decodeURIComponent
  • encodeURI
  • encodeURIComponent
  • Error
  • EvalError
  • Float32Array
  • Float64Array
  • Function
  • Infinity
  • Int8Array
  • Int16Array
  • Int32Array
  • Intl
  • isFinite
  • isNaN
  • JSON
  • Map
  • Math
  • Number
  • Object
  • parseFloat
  • parseInt
  • Promise
  • Proxy
  • RangeError
  • ReferenceError
  • Reflect
  • RegExp
  • Set
  • setInterval
  • setTimeout
  • SharedArrayBuffer
  • String
  • Symbol
  • SyntaxError
  • TextDecoder
  • TextEncoder
  • TypeError
  • Uint8Array
  • Uint8ClampedArray
  • Uint16Array
  • Uint32Array
  • URIError
  • URL
  • URLSearchParams
  • WeakMap
  • WeakSet
  • WebAssembly

متغيرات البيئة

بإمكانك استخدام الملف process.env للوصول إلى متغيرات البيئة عبر next dev و next build. إنّ تنفيذ التعليمة console.log على process.env لن يعرض جميع متغيرات البيئة، وعليك ان تصل إلى المتغيرات مباشرة كالتالي:

console.log(process.env)
// { NEXT_RUNTIME: 'edge' }
console.log(process.env.TEST_VARIABLE)
// { NEXT_RUNTIME: 'edge', TEST_VARIABLE: 'value' }

الواجهات البرمجية غير المدعومة

  • لا تُدعم الواجهة البرمجية الأصلية للغة Node.js، فلن تتمكن من القراءة أو الكتابة إلى منظومة الملفات.
  • يمكن استخدام node_modules طالما أنها تُنجز باستخدام وحدات ES ولا تستخدم واجهة Node.js البرمجية الأصلية.
  • لا يُسمح باستدعاء require مباشرة، لا بد من استخدام وحدات ES بدلًا منه.
  • عُطلت ميزات لغة JavaScript التالية:
    • eval: تقييم شيفرة JavaScript المُمثَّلة كنص.
    • new Function(evalString): إنشاء دالة جديدة من خلال شيفرة قُدمّت كوسيط argument.

المصادر

  • الصفحة Edge Runtime من توثيق Next.js الرسمي.