gpt4 book ai didi

javascript - 基于组件的大型 web 项目的 Backbone-RequireJs 样板

转载 作者:行者123 更新时间:2023-11-29 10:50:38 25 4
gpt4 key购买 nike

我们有一个大型 Web 项目,我们需要可以相互通信的组件,这些组件可以放在不同项目的组件中央存储库中。使用 reuirejs 和 Backbone 进行模块化开发。遍历了可用于 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
  1. resources 目录将包含所有资源。在那之下,我们将有 4 个目录,如前所述。
  2. libraries、jqueryplugins 和 thirdpartyplugins 显然是他们所说的目录。
  3. page-js 目录将包含实际的 main-js,它将在我们的 html 文件中用作 requirejs data-main 属性。
  4. Custom-component 是我们创建的所有小部件所在的地方,如您所见,它有一个与组件同名的 js 文件,它将成为该小部件的入口点。这个目录还有js、css和templates的目录。 CSS 和模板将由文本插件和 CSS 加载插件分别。 Js 目录将包含使此小部件正常工作的所有主干代码。

驻留在 page-js 中的 main-js 将询问自定义组件。

来到我需要的地方。
1. 我希望专家从大型 Web 项目的 Angular 审查此目录结构,您需要在其中与其他团队共享您的小部件。欢迎提出建议。
2. 我的每个自定义组件都将定义一个模块,该模块在包结构内和包结构外都具有依赖性。我想知道,是否有任何方法可以使用 r.js 仅优化我在包结构中的自定义小部件依赖项,并让插件和库分别优化。
3. 我正在开发单页 ajax 应用程序,所以我会按需询问模块,所以我需要在不需要时清理模块和小部件,有什么清理方法我应该知道吗?

最佳答案

关于目录结构

作为目录结构模式,我强烈推荐使用cakePHP的目录结构。它真的像文字一样强大!我正在运行多个应用程序(其中一个与 Groupon 一样大)并且它的运行就像一个魅力。
您可能需要稍微调整一下,因为您知道,cake 是一个 PHP 框架,而您的是一个 javascript 框架。

这是蛋糕的很棒的 MVC 目录结构:

enter image description here

请注意,您可以在单个蛋糕安装上托管数千个应用程序。所以如果你有兴趣,你还在等什么? go to their site并阅读他们的文档。


关于清理技术

好吧,这是我不喜欢的 Javascript 缺点之一。没有像在 Java 或 C++ 中那样销毁 OO 模块的真正方法。这里我们没有像 C++ 的 ~ 析构函数这样的东西。

多年来,程序员使用module = null 来释放未使用代码的内存。

再看看这些:

希望对您的应用设计有所帮助,祝您好运 ;D

关于javascript - 基于组件的大型 web 项目的 Backbone-RequireJs 样板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10903334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com