Skip to content

Commit cfbcc8c

Browse files
authored
Fix Conflicts 1/13/1 --part --retranslte -s
1 parent 9c6bd99 commit cfbcc8c

1 file changed

Lines changed: 0 additions & 22 deletions

File tree

1-js/13-modules/01-modules-intro/article.md

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,24 @@
1-
21
# مقدّمة إلى الوِحدات
32

4-
<<<<<<< HEAD
53
سنرى سريعًا بينما تطبيقنا يكبُر حجمًا وتعقيدًا بأنّ علينا تقسيمه إلى ملفات متعدّدة، أو ”وِحدات“ (module). عادةً ما تحتوي الوِحدة على صنف أو مكتبة فيها دوالّ.
6-
=======
7-
As our application grows bigger, we want to split it into multiple files, so called "modules". A module may contain a class or a library of functions for a specific purpose.
8-
>>>>>>> 445bda39806050acd96f87166a7c97533a0c67e9
94

105
كانت محرّكات جافاسكربت تعمل لفترة طويلة جدًا دون أيّ صياغة وِحدات على مستوى اللغة، ولم تكن هذه بالمشكلة إذ أنّ السكربتات سابقًا كانت بسيطة وسهلة ولم يكن هناك داعٍ فعلي للوِحدات.
116

127
ولكن كالعادة صارت السكربتات هذه أكثر تعقيدًا وأكبر، فكان على المجتمع اختراع طرائق مختلفة لتنظيم الشيفرات في وحدات (أو مكتبات خاصّة تُحمّل تلك الوِحدات حين الطلب).
138

14-
<<<<<<< HEAD
159
مثال:
16-
=======
17-
To name some (for historical reasons):
18-
>>>>>>> 445bda39806050acd96f87166a7c97533a0c67e9
1910

2011
- [AMD](https://en.wikipedia.org/wiki/Asynchronous_module_definition): هذه إحدى نُظم المكتبات القديمة جدًا والتي كتبت تنفيذها بدايةً المكتبة [require.js](http://requirejs.org/).
2112
- [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1): نظام الوِحدات الذي صُنِع لخوادم Node.js.
2213
- [UMD](https://github.com/umdjs/umd): نظام وِحدات آخر (اقتُرح ليكون للعموم أجمعين) وهو متوافق مع AMD وCommonJS.
2314

2415
أمّا الآن فهذه المكتبات صارت (أو تصير، يومًا بعد آخر) جزءًا من التاريخ، ولكن مع ذلك سنراها في السكربتات القديمة.
2516

26-
<<<<<<< HEAD
2717
ظهر نظام الوِحدات (على مستوى اللغة) في المعيار عام 2015، وتطوّر شيئًا فشيئًا منذئذ وصارت الآن أغلب المتصفّحات الرئيسة (كما و Node.js) تدعمه. لذا سيكون أفضل لو بدأنا دراسة عملها من الآن.
28-
=======
29-
The language-level module system appeared in the standard in 2015, gradually evolved since then, and is now supported by all major browsers and in Node.js. So we'll study the modern JavaScript modules from now on.
30-
>>>>>>> 445bda39806050acd96f87166a7c97533a0c67e9
3118

3219
## ما الوِحدة؟
3320

34-
<<<<<<< HEAD
3521
الوِحدة هي ملف، فقط. كلّ نص برمجي يساوي وحدة واحدة.
36-
=======
37-
A module is just a file. One script is one module. As simple as that.
38-
>>>>>>> 445bda39806050acd96f87166a7c97533a0c67e9
3922

4023
يمكن أن تُحمّل الوِحدات بعضها البعض وتستعمل توجيهات خاصة مثل التصدير `export` والاستيراد `import` لتتبادل الميزات فيما بينها وتستدعي الدوالّ الموجودة في وحدة ص، من وحدة س:
4124

@@ -71,16 +54,11 @@ sayHi('John'); // Hello, John!
7154

7255
[codetabs src="say" height="140" current="index.html"]
7356

74-
<<<<<<< HEAD
7557
يجلب المتصفّح الوِحدة تلقائيًا ويقيم الشيفرة البرمجية بداخلها (ويستورد جميع الوحدات المتعلقة بها إن لزم الأمر)، وثمّ يشغلها.
76-
=======
77-
The browser automatically fetches and evaluates the imported module (and its imports if needed), and then runs the script.
7858

7959
```warn header="Modules work only via HTTP(s), not in local files"
8060
If you try to open a web-page locally, via `file://` protocol, you'll find that `import/export` directives don't work. Use a local web-server, such as [static-server](https://www.npmjs.com/package/static-server#getting-started) or use the "live server" capability of your editor, such as VS Code [Live Server Extension](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) to test modules.
8161
```
82-
>>>>>>> 445bda39806050acd96f87166a7c97533a0c67e9
83-
8462

8563
## ميزات الوِحدات الأساسية
8664
=======

0 commit comments

Comments
 (0)