我们有一个大型Web项目,我们需要可以相互交流的组件,这些组件可以放在不同项目的组件中央存储库中。 使用reuirejs和Backbone进行模块化开发。通过骨干和requirejs的不同样板,但没有符合我的要求。所以我创建了以下目录结构。它可以解释如下。用于基于组件的大型Web项目的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
- 资源目录将包含的所有资源。在那之下,我们将会提到4个目录。
- 图书馆,jqueryplugins和thirdpartyplugins都是他们所说的名字的目录。
- page-js目录将包含实际的main-js,它们将在我们的html文件中用作requirejs data-main属性。
- 定制组件是我们创建的所有组件都将驻留的位置,因为您可以看到它具有与组件相同名称的js文件,该文件将作为此构件的入口点。这个目录也有js,css和模板的目录。 CSS和模板将分别通过文本插件和CSS插件加载。 Js目录将包含使这个小部件工作的所有主干代码。
自定义组件将被驻留在page-js中的main-js询问。
即将到达我需要的东西。
1.我想让专家从大型网站项目的角度审视这个目录结构,您需要与其他团队共享您的小部件。欢迎提出建议。
2.我的每个定制组件都将定义一个模块,它将在包结构以及外部包结构中具有依赖关系。我想知道,是否有任何方法可以使用r.js来优化封装结构中的自定义窗口小部件依赖项,并让插件和库分别进行优化。
3.我正在开发单页面ajax应用程序,所以我会问需求模块,所以我需要清理模块和小部件,当我不需要它们时,是否有任何清理方法我应该知道?
你检查'骨干-aura'(http://addyosmani.github.com/backbone-aura/)由阿迪·奥斯马尼,基于文档和您的要求,它可能会帮助您生成所需的体系结构 – dhaval
在询问此问题之前,我确实偶然发现了这一问题,但没有找到您指定的链接。感谢您的链接。我研究了这一点,它解决了我的一个问题,清理。它还增加了一个pub/sub架构的更多令人兴奋的功能。但是我的查询2仍然存在,是否有一种方法来优化我的小部件。 – Vishwanath
can's你可以使用'exclude'选项来避免因外部或不需要的依赖关系而优化 – dhaval