كيف يمكنني إنشاء مكتبة JavaScript في ملف منفصل و "تشمل" في مكان آخر؟

StackOverflow https://stackoverflow.com/questions/928237

سؤال

أولا، تحذير. البرنامج النصي الرئيسي هو لا تعمل في صفحة ويب. وبعد سأقوم بتشغيل ملف .js في Windows باستخدام Windows Script Host.

المشكلة:أرغب في إنشاء "مكتبة" جافا سكريبت تحتوي على عدد من الكائنات، ولكل منها عدد من الوظائف. أتوقع أن تصبح هذه المكتبة كبيرة إلى حد ما مع مرور الوقت وترغب في الاحتفاظ بها في ملف JavaScript منفصل (دعنا نسميها library.js.). أود الوصول إلى الكائنات من library.js. من نص آخر (دعنا نسمي هذا واحد user.js.).

في جوهرها، أبحث عن شيء مشابه ل C / C ++ "تشمل" نموذج.

هل هناك على أي حال لتنفيذ هذا في جافا سكريبت؟ (تذكر، هذا ليس أساس الويب)

هل كانت مفيدة؟

المحلول

هذه الصفحة هنا هو الأقرب الذي يمكنني العثور عليه. يتحدث عن ملفات .wsf التي تتيح لك الجمع بين نصوص متعددة (قد تكون مكتوبة بلغات مختلفة) في ملف واحد.

لسؤالك يجب أن يكون شيء مثل:

user.wsf.

<job id="IncludeExample">
   <script language="JScript" src="library.js"/>
   <script language="JScript">
      <![CDATA[
      // use your library functions here
      ]]>
   </script>
</job>

قد تكون هناك طرق أفضل، لكنني لست خبير WSH.

نصائح أخرى

أعلم أن هذا سؤال قديم وقد تم الرد عليه وقبوله.

أنا أعرف عن ملفات .WSF وكيف يعملون؛ انهم يخدمون الغرض.

ومع ذلك، فقد وجدت أيضا أنها مفيدة للقيام ب "إدراج" من داخل ملف .js النقي يعمل في WSH. ها هو الحل الخاص بي لذلك.

    function includeFile (filename) {
        var fso = new ActiveXObject ("Scripting.FileSystemObject");
        var fileStream = fso.openTextFile (filename);
        var fileData = fileStream.readAll();
        fileStream.Close();
        eval(fileData);
    }

مع تحديد وظيفة الأداة المساعدة، يمكنني القيام بذلك من داخل وحدة JavaScript:

includeFile("externalFile1.js");
includeFile("externalFile2.js");
includeFile("etc.js");

... ثم يمكنني استدعاء أي من الوظائف أو دغدغة أي من المتغيرات المحددة في تلك الوحدات.

تقنية مماثلة تعمل مع ملفات .vbs:
كيف يمكنني تضمين ملف مشترك في VBScript (على غرار C #Include)؟

يمكنك تحقيق هدفك باستخدام مضيف البرمجة النصية Windows بدلا من ملف .js أو .vbs محددة. مزيد من المعلومات يمكن العثور عليها في موقع MSDN..

من الرابط:

ملف Windows Script (* .wsf) هو مستند نصي يحتوي على رمز لغة ترميز قابل للتوسيع (XML). يتضمن العديد من الميزات التي تقدم لك زيادة مرونة البرمجة النصية. نظرا لأن ملفات Windows Script ليست خاصة بالمحرك، فيمكنها احتواء البرنامج النصي من أي محرك برمجي متوافق مع Windows Script. أنها تعمل كحاوية.

ستقوم Cal Lte بالملف باستخدام نفس بناء الجملة كملف .js و .vbs:

wscript.exe myscriptfile.wsf.

تحديث: لاحظ التصحيح ...

ربما يمكن أن يساعد تنفيذ phpjs هذا.

http://phpjs.org/functions/include:433.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top