当前位置: 首页 > 面试题库 >

组织Javascript库和CSS文件夹结构的最佳实践

濮阳奇逸
2023-03-14
问题内容

您如何在Web应用程序中组织js和css文件夹?

我当前的项目结构如下:

root/
├── assets/
│   ├── js/
│   │   └──lib/
│   ├── css/
│   └── img/
└── index.html

但是,当我使用许多JavaScript库和CSS插件时,情况会更加复杂。Javascript插件附带其自己的.js文件,有时还附带其自己的.css文件。

例如,当我将JQuery和JQueryUI插件一起使用时,我将jquery.js和jquery-ui.js放在js/lib目录中。但是JQueryUI带有自己的css文件。我应该将javascript插件中的CSS放在哪里,以获得最佳实践?我是否应该将它们放在lib文件夹中,以区分我的CSS和javascriptCSS插件?或者别的地方?

我知道这是个人喜好,但我只想知道你们是如何组织项目文件夹的。

提前致谢 :)


问题答案:

我将概述一个推荐的结构,以组织HTML5应用程序中的文件。这不是创建任何标准的尝试。相反,我将就如何以合乎逻辑的便捷方式对文件进行分组和命名提出建议。

您的专案

假设您正在构建HTML5应用程序。在某些情况下,您可以使用服务器的根作为主要容器,但是出于本文的目的,我将假定HTML5应用程序包含在文件夹中。在此文件夹中,您必须创建应用程序索引文件或主入口点。

  • Acropolis project
    • my-index.html

通常,您的应用程序将由HTML,CSS,图像和Javascript文件组成。这些文件中的某些文件将特定于您的应用程序,而另一些文件可以在多个应用程序中使用。这是非常重要的区别。为了对文件进行有效的分组,必须首先将通用文件与特定于应用程序的资源分开。

  • Acropolis project
    • resources
    • supplier
    • my-index.html

这种简单的分隔使浏览文件变得更加容易。将库和通用文件放置在 vendors 文件夹中后,很明显,将要编辑的文件将位于 resources
文件夹中。

除了HTML代码外,应用程序中的其余文件主要是CSS,Javascript和图像。很有可能您已经将应用程序文件分组到与这些资产相对应的文件夹中。

  • Acropolis project
    • resources
    • CSS
    • js
    • picture
    • data
    • supplier
    • my-index.html

JS 文件夹将持有你的JavaScript代码。同样, images
文件夹是您应在其中添加直接从index.html或应用程序中任何其他页面使用的 图像 的地方。此 图像
文件夹不应用于承载与样式表相关的文件。您的CSS代码和相关图像应位于 css
文件夹内。通过这样做,您可以构建可以轻松使用不同主题的页面,并使您的应用程序更具可移植性。

  • Acropolis project
    • 资源
    • 的CSS
      • 蓝色主题
      • background.png
      • 图片
      • background.png
      • 蓝色主题.css
      • my-index.css
    • js
      • my-index.js
      • my-contact-info.js
    • 图片
      • 产品展示
      • computer.jpg
      • 手机.png
      • printer.jpg
      • my-company-logo-small.png
      • my-company-logo-large.png
    • 数据
      • some-data.json
      • more-data.xml
      • table-data.csv
      • extra-data.txt
    • 供应商
    • jQuery的
      • 图片
      • ajax-loader.gif
      • icons-18-white.png
      • jquery.min.js
      • jquery.mobile-1.1.0.min.css
      • jquery.mobile-1.1.0.min.js
    • 一些CSS图书馆
    • some-plugin.jquery
    • my-index.html
    • my-contact-info.html
    • my-products.html

前面的示例显示了 css 文件夹的内容。注意,有一个名为default.css的文件应该用作您的主CSS文件。默认样式表使用的图像应放置在
images 文件夹内。如果要创建替代样式表,或者希望覆盖默认样式表中定义的规则,则可以创建其他CSS文件和相应的文件夹。例如,您可以创建blue-
theme.css样式表,并将所有相关图像放置在 blue-theme内
夹。如果您具有仅一页使用的CSS或Javascript代码(在本例中为my-
index.html),则可以将.css和.js文件内的页面特定代码与该页面的名称分组在一起(ei my-index .css和my-
index.js)。您的CSS和Javascript代码应尽可能通用,但可以通过将异常放在单独的文件中来跟踪异常。

最终建议

必须围绕文件夹和文件名提出一些最终建议。通常,请确保在所有文件夹和文件名中使用小写字母。当使用多个单词命名文件或文件夹时,请使用连字符(即,my-
company-logo-small.png)将其分开。如果您遵循本文中的建议,您应该能够合并多个页面,同时将公共资源和自定义代码很好地分开。

最后,即使您不选择使用本文推荐的结构,也必须遵守约定,这一点很重要。这将提高您的生产率,更重要的是它将使您所做的工作容易被他人理解。



 类似资料:
  • 库被设计为模块化的,同时保持必须包括的头文件的数量以获得相当低的基本功能。 库的结构也故意保持简单,因为我们都喜欢简单。 以下是头文件组织的一般概述。 该库提供的所有标题的列表也可在左侧面板(标题标签下)看到,以备您需要更多详细信息。 boost/hana.hpp 这是库的主标题,其中包括库的整个公共接口。请注意,外部适配器,实验功能和实现细节不包括在这个头文件中,但是,因为其中一些需要额外的依赖

  • 问题内容: 我现在大约有7个Javascript文件(由于使用了各种jQuery插件)和4-5个CSS文件。我对处理这些问题的最佳做法感到好奇,包括应该在文档中的何处加载它们?YSlow告诉我,如果可能的话,应在末尾包含Javascript文件。身体的尽头?它提到的问题似乎在于他们是否编写内容。我所有的Javascript文件都是函数和jQuery代码(在ready()时全部完成),因此应该可以。

  • 问题内容: 我正在使用node-webkit,并试图让用户选择一个文件夹,然后返回该文件夹的目录结构并递归获取其子级。 我已经用这个代码(在Angular Controller中)相当简单地工作了。 取一个中等大小的文件夹,其中包含22个子文件夹,深度约为4层,这需要几分钟的时间来获取整个目录结构。 我在这里显然做错了什么吗?看到我正在使用内置的Node fs方法,我简直不敢花这么长时间。还是有一

  • 简介 默认的 Laravel 应用结构旨在为不同大小的应用提供一个好的起点。当然,你也可以根据自己的喜好整理应用的目录结构。 Laravel 没有严格地限制任何给定的类的位置,只要它们能够被 Composer 自动加载。 为什么没有模型目录? 当开始使用 Laravel 时,许多开发人员都因缺少 Models 目录而感到困惑。然而,缺少这样的目录是故意的。 我们发现「模型」含糊不清,因为对许多不同

  • CakePHP 应用程序框架提供以下几个默认顶层文件夹: bin 文件夹包含控制台可执行文件。 config 文件夹包含少许 Configuration 内核使用的文件。比如数据库 连接信息文件,引导文件,内核配置以及其他。 plugins 文件夹包含了你的应用程序所使用的 Plugins。 logs 文件夹一般包含了根据你的配置而定的日志文件。 src 文件夹将是你的应用程序的源代码的所属之地。

  • 问题内容: 我是从C#/ Visual Studio的背景来学习Java和Eclipse的。在后者中,我通常会组织这样的解决方案: \ MyProjects \ MyApp \ MyAppsUtilities \ LowerLevelStuff MyApp将包含一个用于构建.exe的项目,MyAppsUtilities将创建一个由.exe调用的程序集DLL,而LowerLevelStuff可能会构