איך ניתן לשתף קוד בין השרת לדפדפן


  • תכנות

    אני רוצה להשתמש באותו קטע קוד גם בשרת וגם בדפדפן
    אבל בדפדפן שלא יהיה גלובלי, אלא שימוש פנימי בתוך פונקציה (אפליקצית אנגולר)
    ניתן? א"כ איך?


  • תכנות

    אתה שולח אותו מהשרת בבקשת AJAX, הדפדפן מקבל אותו סטרינג, אתה עורך אותו בדפדפן עם כמה ריפלייסים, ועושה לו eval


  • תכנות

    מתנצל על השטות שכתבתי, אם תעשה ריפלייסים לקוד יפטרו אותך במקום 🙂
    תעשה require מינימלי

    function require(code){
    	var exports = {}
    	var module = {}
    	eval(code)
    	return module.exports || exports
    }
    
    

    וכשאתה מקבל את המחרוזת של הקוד בדפדפן, תעביר אותו דרך הפונקציה הזו, לדוגמא

    var ajaxResponse = 'module.exports = function(){}';
    
    $scope.func = require(ajaxResponse)
    

  • תכנות

    @אהרן לא הבנתי את כוונתך.
    וגם לא את מה שענו לך.


  • תכנות

    @מנצפך
    אני רוצה לכתוב פונקציה פעם אחת, ולהשתמש בו גם בשרת וגם בדפדפן.

    אפשרות אחת היא פשוט לייבא לדף

    <script src="myScript.js"></script>
    

    אבל אז אז זה מוצמד לglobal, ואני רוצה א"ז מכומס בתוך הקונטרולר.

    אז אפשרות נוספת זה לקבל את הפונקציה כסטרינג באמצעות AJAX ולהפעילו באמצעות פונקצית eval, אבל זה לא נוח כי צריך למחוק את המעטפת:

    myFunc(){}
    

    כי הפונקציה מקבלת רק סטרינג עם גוף הפונקציה להרצה
    וכן הוא לא יכיר את המשתנה module.exports שנמצא בכל מודול.

    עכשיו הפתרון מובן?


התחבר כדי לפרסם תגובה
 

24
מחובר

1.5k
משתמשים

5.3k
נושאים

58.6k
פוסטים

סלולר כשר במחירים הנמוכים ביותר עם ובלי ניוד.

כנסו לאתר לקניה מקוונת, או בדקו סניף קרוב לביתכם.

מוצרים עם הנחה

לחצו פה כדי להגיע לרשימת מוצרים עם הנחה בקיאספי.

בהגעה דרך הלינק, ישנה הנחה בשלב התשלום בקופה!

בא תתחבר לדף היומי!