# كيف تدير الأشياء محليًا

إذا كنت تستخدم الأشكال الهندسية الإجرائية فقط ولا تقوم بتحميل أي مواد ، فيجب أن تعمل صفحات الويب مباشرة من نظام الملفات ، فقط انقر نقرًا مزدوجًا فوق ملف HTML في مدير الملفات يجب أن يعرض محتوى الصفحة في المتصفح (سترى file:///yourFile.html في شريط العناوين).

## المحتوى الذي تم تحميله من ملفات خارجية

إذا قمت بتحميل نماذج وأنسجة من ملفات خارجية ، نظرًا لقيود أمان المتصفحات [link:http://en.wikipedia.org/wiki/Same_origin_policy same origin policy] ، فسيفشل التحميل من نظام الملفات مع استثناء أمان.

هناك طريقتان لحل هذا:

1. قم بتغيير أمان الملفات المحلية في المستعرض. يتيح لك ذلك الوصول إلى صفحتك على النحو التالي: `file:///yourFile.html`
2. قم بتشغيل الملفات من خادم ويب محلي. يتيح لك هذا الوصول إلى صفحتك على النحو التالي: `http://localhost/yourFile.html`

إذا كنت تستخدم الخيار 1 ، فاعلم أنك قد تفتح نفسك لبعض نقاط الضعف إذا كنت تستخدم نفس المتصفح لتصفح الويب. قد ترغب في إنشاء ملف تعريف / اختصار متصفح منفصل يستخدم فقط للتطور لتكون في مأمن. دعنا نمر إلى كل خيار على حدة.

## قم بتشغيل خادم محلي

تحتوي العديد من لغات البرمجة على خوادم HTTP بسيطة مضمنة فيها. فهي ليست كاملة الميزات مثل خوادم الإنتاج مثل [link:https://www.apache.org/ Apache] أو [link:https://nginx.org NGINX] ، ولكن يجب أن تكون كافية لاختبار تطبيق three.js الخاص بك.

### إضافات لمحررات الأكواد الأكثر إستعمالا

تحتوي بعض برامج تحرير الأكواد على مكونات إضافية والتي ستنتج خادمًا بسيطًا عند الطلب.

- [link:https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Live Server] لـ Visual Studio Code.
- [link:https://atom.io/packages/atom-live-server Live Server] لـ Atom.

### Servez

[link:https://greggman.github.io/servez Servez] هو خادم بسيط مع واجهة المستخدم.

### Node.js http-server

يحتوي Node.js على حزمة خادم HTTP بسيطة. لتثبيت:

`npm install http-server -g`

للتشغيل (من دليلك المحلي):

`http-server . -p 8000`

### خادم Python

إذا كان لديك [link:http://python.org/ Python] مثبتًا ، فيجب أن يكون كافيًا لتشغيل هذا من سطر أوامر (من دليل العمل الخاص بك):

`//Python 2.x python -m SimpleHTTPServer //Python 3.x python -m http.server`

سيخدم هذا الملفات من الدليل الحالي في المضيف المحلي تحت المنفذ 8000 ، كمثال في شريط العنوان اكتب:

`http://localhost:8000/`

### خادم Ruby

إذا قمت بتثبيت Ruby ، فيمكنك الحصول على نفس النتيجة بتشغيل هذا بدلاً من ذلك:

`ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"`

### خادم PHP

تحتوي PHP أيضًا على خادم ويب مدمج ، بدءًا من php 5.4.0:

`php -S localhost:8000`

### Lighttpd

Lighttpd هو خادم ويب خفيف الوزن للغاية للأغراض العامة. سنغطي تثبيته على OSX مع HomeBrew هنا. على عكس الخوادم الأخرى التي تمت مناقشتها هنا ، فإن lighttpd هو خادم جاهز للإنتاج الكامل.

1. تثبيته بواسطة homebrew `brew install lighttpd`
2. قم بإنشاء ملف ترتيب (configuration) يسمى lighttpd.conf في المجلد حيث تريد تشغيل خادم الويب الخاص بك. يوجد نموذج [link:http://redmine.lighttpd.net/projects/lighttpd/wiki/TutorialConfiguration here].
3. في ملف conf ، قم بتغيير server.document-root إلى الدليل الذي تريد خدمة الملفات منه.
4. شغله من خلال الأمر التالي: `lighttpd -f lighttpd.conf`
5. انتقل إلى http://localhost:3000 وسيخدم الملفات الثابتة من الدليل الذي تختاره.

### IIS

إذا كنت تستخدم Microsoft IIS كخادم ويب. الرجاء إضافة إعدادات نوع MIME فيما يتعلق بامتداد .fbx قبل التحميل.

`File name extension: fbx MIME Type: text/plain`

بشكل تلقائي ، يقوم IIS بحظر تنزيل ملفات .fbx و .obj. يجب عليك تعديل IIS لتمكين تنزيل هذا النوع من الملفات.

تمت مناقشة البدائل البسيطة الأخرى هنا [link:http://stackoverflow.com/q/12905426/24874 here] على Stack Overflow.