创建一个模块化和有组织的javascript网站

时间:2011-01-18 10:09:39

标签: javascript design-patterns organization modularity

我正在寻找一些关于如何保持Javascript组织和模块化的一般提示。

我工作的最新javascript重型项目看起来像[以下] [1](格式化http://jsfiddle.net/wdkZd/

你可以看到我试图命名我的javascript并构建一些单独的功能。尽管如此,当我需要实现功能之后,我仍然会在自己的代码中丢失。而且我知道我可以在组织代码方面做得更好。

基于你在这里可以看到的内容的任何一般指针?

2 个答案:

答案 0 :(得分:4)

在过去的两年里,我一直致力于一个拥有相当大(10000多行)javascript代码库的项目,涉及30多名活跃的javascript开发人员。

因此,你可以想象我们已经有了一些痛苦,试图保持代码的形状,这一切都有意义且易于维护(这是一个高度敏捷的环境,规范每周更改一次,如果不是更频繁的话)

我们尝试解决结构问题的一些方法如下:

  • 命名空间是必须的。
  • 在图层中构建应用程序,例如我们的代码中包含以下已定义的图层:transport,data,businesslogic,control& UI
  • 围绕常见的可重复使用的自包含单元测试组件/模块构建您的层,例如:状态,选择,模板,存储,事件等。
  • 使用模式,阅读各种模式,了解何时使用模式,并开始这样做,如果不这样做:)
  • 保持编码风格一致,不要偏离,除非你绝对必须 - 代码需要自我解释,评论是一种邪恶,只有在极端情况下才是必要的
  • 尝试用以下术语思考:在重复使用之前使用,在优雅之前使用简单性和可维护性 - 给自己咒语并坚持下去

答案 1 :(得分:1)

我遵循的一些做法是保持我的Javascript组织:

  1. 将所有库缩小为单个文件
  2. 除非另有要求,否则在页脚中加载页面特定的JS
  3. 将所有全局JS合并到一个文件中。 {仅在生产阶段缩小}
  4. 看着你的JS,看起来很有条理。由于您正在开发插件,因此在下载插件时能够选择模块是一个很好的选择。类似于Jquery UI的东西