我们有一个大型 Web 项目,我们需要可以相互通信的组件,这些组件可以放在不同项目的组件中央存储库中。使用 reuirejs 和 Backbone 进行模块化开发。浏览了可用于骨干网和 requirejs 的不同样板,但没有一个符合我的要求。所以我创建了以下目录结构。可以解释如下。
---resources
|---custom-components
|---mycomponent
|---js
|---views
|---models
|---collections
|---css
|---templates
|---mycomponent.js
|---mycomponent2
|---js
|---views
|---models
|---collections
|---css
|---templates
|---mycomponent2.js
|---libraries
|---backbone
|---underscore
|---jquery
|---jquery-ui
|---jqueryplugins
|---jcarouselite
|---thirdpartyplugins
|---page-js
|---mypage.js
|---mypage2.js
- resources 目录将包含所有资源。在此之下,我们将有 4 个如上所述的目录。
- library、jqueryplugins 和thirdpartyplugins 显然是他们所说的名称的目录。
- page-js 目录将包含实际的 main-js,它将在我们的 html 文件中用作 requirejs data-main 属性。
- 自定义组件是我们创建的所有小部件所在的位置,您可以看到它有一个与组件同名的 js 文件,这将是该小部件的入口点。该目录还包含 js、css 和模板的目录。CSS 和模板将分别由文本插件和CSS插件加载。Js 目录将包含使这个小部件工作的所有主干代码。
驻留在 page-js 中的 main-js 将询问自定义组件。
来到我需要的地方。
1. 我希望专家从大型 Web 项目的角度来审查此目录结构,您需要与其他团队共享您的小部件。欢迎提出建议。
2.我的每个自定义组件都会定义一个模块,该模块将在包结构内和包结构外具有依赖关系。我想知道,是否有任何方法可以使用 r.js 仅优化我在包结构中的自定义小部件依赖项,并让插件和库分别优化。
3. 我正在开发单页 ajax 应用程序,所以我会按需询问模块,所以我需要在不需要时清理模块和小部件,有什么方法可以清理我应该注意的吗?