如今,除了我们自己编写的Javascript文件外,我们每页还有大量的Javascript库。你是如何管理它们的?你如何以有组织的方式将它们缩小?
答案 0 :(得分:6)
<强>组织强>
我的所有脚本都保存在我在网站上工作时遵循的目录结构中。目录结构通常如下所示:
+--root
|--javascript
|--lib
|--prototype.js
|--scriptaculous
|--scriptaculous.js
|--effects.js
|--..
|--myOwnScript.js
|--myOwnScript2.js
如果有机会,我正在一个团队工作使用过多的脚本,那么我通常会创建一个自定义目录,我们将在其中按关系组织脚本。但这并不常见。
<强>压缩强>
虽然那里有很多不同的压缩器和混淆器,但我总是回到YUI Compressor.
<强>夹杂物强>
除非网站使用某种形式的母版页,CMS或某些内容来指示我无法控制的页面上包含的内容,否则我只包含必须用于指定页面的脚本为了小的性能。如果页面不需要任何脚本,则该页面上不会包含脚本。
答案 1 :(得分:4)
首先,YUI Compressor。
让他们保持井然有序取决于你,但我见过的大多数小组只是提出了一个对他们的应用程序有意义的约定。
打包文件通常是最佳的,因为您可以使用少量软件包,这些软件包可以包含在任何给定页面中,以实现最佳缓存。
您还可以考虑将您的javascript划分为整个团队中易于分享的细分。
答案 2 :(得分:4)
以下是要点:
我将添加一些我自己的要点:
lib
目录中是一个好的开始。如果有意义的话,您也可以将自己的JS文件划分为子目录。理想情况下,您将能够以这样的方式对它们进行排列,使得给定子目录中的文件可以连接成一个文件。答案 3 :(得分:1)
我将为所有javascript创建一个文件夹,为第三方/共享库提供一个子文件夹,并为网站的每个组件提供子文件夹,以保持一切有条理。
例如:
/
+--/javascript/
+-- lib/
+-- admin/
+-- compnent1/
+-- compnent2/
然后在构建过程中通过minifier / obfuscator运行所有内容。
答案 4 :(得分:0)
我最近一直在使用这个: http://code.google.com/apis/ajaxlibs/
然后有一个“jscripts”文件夹,我保留自定义代码。
答案 5 :(得分:0)
在我的上一个项目中,我们有三种JS文件,所有这些文件都在JS文件夹中。
最大的努力是在前两种代码中使用大部分代码,让自定义代码只知道要调用的内容以及何时调用。
答案 6 :(得分:0)
这可能与您正在寻找的方法不同,但我一直在博客引擎中使用JavaScript模板的想法。简而言之,您使用数据库为页面ID分配Javascript模板,它将动态地包含和缩小与该模板关联的所有JavaScript文件,并在模板ID作为文件名的服务器端缓存中创建文件。加载页面时,它会调用模板文件,该文件首先检查文件是否存在于缓存中,如果存在,则加载它。如果它不存在,它会动态创建并包含它。我还使用模板文件来gzip集合JavaScript文件。
模板理念适用于网站范围的JavaScript(如JavaScript库),但它不包含特定于页面的JavaScript。但是,通过包含与上面相同的第二个文件,您仍然可以对页面特定的JavaScript使用相同的方法。