Javascript 如何为开发人员构建一个框架

Javascript 如何为开发人员构建一个框架,javascript,frameworks,encapsulation,Javascript,Frameworks,Encapsulation,我正在开发一个JavaScript应用程序,让其他开发人员在上面构建自己的应用程序。将为他们提供一个框架 我的问题: 如何实现这个框架,使开发人员能够访问某些函数或对象。例如,我想阻止访问窗口对象的某些属性 我考虑过解析他们的代码,我认为这是一个很好的解决方案。但我不能肯定它是否能处理模糊代码 我想要一些关于我应该如何做的建议。你的方法听起来有缺陷。你真的不想通过隐藏开发人员习惯访问的东西来与他们“争斗” 我建议您尝试提供一个完整的(并且有很好的文档记录)API,鼓励开发人员以您期望的方式使用您

我正在开发一个JavaScript应用程序,让其他开发人员在上面构建自己的应用程序。将为他们提供一个框架

我的问题:

如何实现这个框架,使开发人员能够访问某些函数或对象。例如,我想阻止访问窗口对象的某些属性

我考虑过解析他们的代码,我认为这是一个很好的解决方案。但我不能肯定它是否能处理模糊代码


我想要一些关于我应该如何做的建议。

你的方法听起来有缺陷。你真的不想通过隐藏开发人员习惯访问的东西来与他们“争斗”

我建议您尝试提供一个完整的(并且有很好的文档记录)API,鼓励开发人员以您期望的方式使用您的框架。了解他们的用例(您希望他们如何使用您的平台),并提供API,使坚持您的“受支持”对象变得简单易懂

关于封装的一般主题(例如,使函数私有化),您可以在Javascript中使用各种模式。像这样的一本书对你来说是一个很好的参考书。或者,搜索“javascript私有函数”应该可以让您了解以下内容


你的方法听起来有缺陷。你真的不想通过隐藏开发人员习惯访问的东西来与他们“争斗”

我建议您尝试提供一个完整的(并且有很好的文档记录)API,鼓励开发人员以您期望的方式使用您的框架。了解他们的用例(您希望他们如何使用您的平台),并提供API,使坚持您的“受支持”对象变得简单易懂

关于封装的一般主题(例如,使函数私有化),您可以在Javascript中使用各种模式。像这样的一本书对你来说是一个很好的参考书。或者,搜索“javascript私有函数”应该可以让您了解以下内容


您对“窗口和父对象”的确切含义是什么?为什么要阻止一个人使用
window
?如果阻止某人使用window,则可能会阻止使用任何东西,因为全局变量位于window名称空间中。我怀疑这是一个好主意。如果可能,请提供指向您现有解决方案的链接,以便人们更容易基于此提供反馈。:)不过,您可能需要考虑使用闭包,因为它们允许隐藏某些属性。只需返回您要公开的内容。我不希望开发人员直接访问Windows的某些属性。例如,开发人员不应该访问window.MyFramworkObject。您对“窗口和父对象”的确切含义是什么?为什么要阻止一个人使用
window
?如果阻止某人使用window,则可能会阻止使用任何东西,因为全局变量位于window名称空间中。我怀疑这是一个好主意。如果可能,请提供指向您现有解决方案的链接,以便人们更容易基于此提供反馈。:)不过,您可能需要考虑使用闭包,因为它们允许隐藏某些属性。只需返回您要公开的内容。我不希望开发人员直接访问Windows的某些属性。例如,开发人员不应访问window.MyFramworkObject。