سؤال

هل قام أي شخص بإعداد شيء مثل هذا لنفسه باستخدام الموجود node.js REPL؟ لم أفكر في طريقة سريعة للقيام بذلك.

الطريقة التي أفعل بها اليوم هي استخدام emacs وهذا: https://github.com/ivan4th/swank-js

تتكون هذه الوحدة من:

  1. إضافة SLIME-js إلى emacs تتيح ، جنبًا إلى جنب مع وضع js2 يمكنك ببساطة إصدار C-M-x في مكان ما في جسم دالة def - و off ينتقل سلسلة الوظيفة إلى ..

  2. خادم Swank-js (نعم ، يمكنك التقييم من جهازك المحلي مباشرة إلى عملية بعيدة) مكتوبة في Node.js - يتلقى الملف سلسلة من الوظيفة التي قمت بتقييمها وتطورها بالفعل

  3. جزء كامل يتيح لك الاتصال بمنفذ آخر على ذلك الخادم باستخدام BROWSER ثم يتيح لك التعامل مع DOM على ذلك المتصفح (وهو أمر رائع ولكنه غير مناسب)

يستخدم الحل الخاص بي SLIME-js على جانب emacs وأطلب ('swank- js ') في ملف app.js الخاص بي

الآن .. لدي العديد من المشكلات والأسئلة المتعلقة بحل أو عوامل أخرى محتملة:

س 1: هل هذا مبالغة؟ هل لدى شخص ما طريقة سرية لتقييم الأشياء من نانو إلى حياته العملية؟

Q2: كان علي أن أغير طريقة تقييم swank-js .. لقد استخدمت البعض نوع من السحر الأسود مثل هذا: Genacodicetagpre

والتي ، على حد فهمي ، تقوم فقط بنسخ المتغيرات العامة إلى السياق الجديد ، وبناءً على EVAL ، لا يغير الوظيفة الأصلية التعريفات - SOOO .. أنا فقط أستخدم "Eval" و IT يعمل.

هل لديك أي تعليقات بخصوص هذا؟

س 3: لإعادة تقييم إحدى الوظائف ، يجب أن تكون دالة عالمية - هل من الممارسات السيئة أن تكون جميع تعريفات الوظائف عامة (تشبه clojure)؟ هل تعتقد أن هناك طريقة أخرى للقيام بذلك؟

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

المحلول

في الواقع ، أصبح swank.js أفضل بكثير ، وأصبح الآن من الأسهل بكثير إعداد swank js مع مشروعك باستخدام NPM.أنا بصدد كتابة الوثائق الآن ، ولكن الوظيفة موجودة!

نصائح أخرى

تحقق من هذا http://nodejs.org/api/vm.html Genacodicetagpre

من المفترض أن تساعدك كثيرًا ، كل عناصر وضع الحماية للعقدة تستخدمه :) ولكن يمكنك استخدامه مباشرة :)

يمكنك إلقاء نظرة على jsapp.us ، الذي يدير JS في وضع الحماية ، ثم يعرض ذلك للعالم كخادم اختبار سريع.إليك jsapp.us github repo .

أيضًا ، توقف عند # node.js واطرح أسئلة عناستجابة أسرع :)

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