我应该如何组织一个大型JavaScript对话框对象



我有一个非常大的JavaScript对象,用于存储RPG对话框,其中包含几个大型顶级对象。对话框的格式类似于JSON。

  1. 在组织对话框时,我应该将这些顶级类别中的每一个放在它们自己的功能中吗?

  2. 或者他们自己单独的javascript文件?

  3. 将所有文本保留在一个javascript(var json =)对象中是否会影响性能?

任何组织建议都将不胜感激!

  1. 您通常应该尽可能限制耦合。因此,将这些函数分离为单独的函数是有意义的,但请参阅关于数据库的第3点。

  2. 如果javascript文件太大而无法轻松管理,则可以将它们分离为单独的javascript文件。您总是可以有一个构建过程,稍后将它们聚集在一起(查看html5样板以了解有关该技术的更多信息)。

  3. 在这一点上,它可能不会对性能产生太大影响。不过,我可能会建议将来在获得更多数据时使用mongoDB之类的东西。看看流星js可以获得一些灵感。如果操作得当,使用数据库可以简化代码。

针对问题1,这听起来像JSONP?略有不同。我建议,如果使用JSONP并将<script/>元素注入DOM文件大小成为一个因素,那么解析时的性能差异可以忽略不计,并且明智的做法是将相关数据分组到单独的文件中,以便选择性地检索。

显然,在顶层,如果不使用JSONP,您可以将对象分离为一个数组或一个键控对象。

我在编辑之前看到了你的问题,对我来说,这不仅仅是关于JSON。我理解meagar编辑背后的原因,但我不同意。我认为你真的应该跳出技术细节,专注于你的数据是什么。您正在一个JSON文件中编写游戏的故事。这真的合适还是方便?我个人不这么认为。我的意思是,如果到目前为止你对这件事感到满意,当然,你自己也可以。就我自己而言,我会使用简单明了的文本文件来保存对话框(文件中的1行=对话框的1行,文件名=NPC或过场的名称)。它们更适合讲故事IMHO。

我的意思是,用适合写作的东西来写对话。JSON是一种数据交换格式,当然,它是人类可读的。这并不意味着它应该是人类编写的

然后,当你有你的故事时,如果你想让你的游戏以JSON形式使用这些数据,那么就在这堆文件周围写一些包装器。当然,这看起来像是更多的工作,但我认为它更灵活。好吧,那是我无论如何都会做的。祝你好运。

最新更新