איך ניתן לשתף קוד בין השרת לדפדפן
-
אתה שולח אותו מהשרת בבקשת 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שנמצא בכל מודול.עכשיו הפתרון מובן?
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות