איך ניתן לשתף קוד בין השרת לדפדפן
תכנות
5
פוסטים
3
כותבים
180
צפיות
3
עוקבים
-
אתה שולח אותו מהשרת בבקשת 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שנמצא בכל מודול.עכשיו הפתרון מובן?