1

我想实现一个插件机制,其中js代码存储在数据库中并动态加载到类中。执行对特定插件的查询,然后查询产生的代码用于更新 javascript 类(函数和成员)。

所以我要实现的是,类的一部分在启动时从 JS 类文件加载,类的其他部分从 db 加载,并最终在运行时卸载,赋予它更多功能。

这可行吗?如何从字符串创建函数?你认为这是一个好方法吗?

JS 框架是 ExtJS 4.1.1,数据库是 postgres 9.2

谢谢

4

1 回答 1

1

我是 ExtJS 的新手,但我不建议这样做。

  1. ExtJS 具有推荐的目录层次结构命令行构建工具,功能强大。下载它并使用测试应用程序玩。您将看到是否可以将您的方法与此结合起来。我真的怀疑。如果你想坚持你的方法,你必须以某种方式让它与 ExtJS 应用程序架构的基本要求和推荐兼容。
  2. 考虑可维护性。您如何更新数据库中的代码?您的开发版本中的代码也会在数据库中吗?
    是的:这对于开发来说是非常不切实际的
    否:您的构建过程将非常繁重和复杂。

我个人使用应用程序插件的方法是这样的:

  1. 在我的数据库中,我存储了哪个用户可以访问哪个插件。我还存储依赖项。我将这些信息以一个简单的数组发送给客户端,其中包含用户有权使用的插件列表。
  2. 每个人的应用程序代码都是相同的。这允许我只使用一个缩小的 javascript 文件,我使用sencha app build命令行构建。
  3. 我加载插件的launch方法发生在Ext.application我所做的基本上是将每个插件的菜单添加到主菜单中。
  4. 为了保护对插件的访问,整个 php 后端都是安全的,以确保用户只能访问他被允许访问的功能。

我希望这会给开发一个更简单的概念带来一些启发。

于 2013-10-12T16:11:25.703 回答