如何在 AngularJS 中获得真正的模块化应用程序及其包含结构?

How to get a true modular app in AngularJS and their include structure?

我一直在摆弄 Angular,我想根据它们在我的应用程序中的角色拆分所有文件。

我想要每个 "page" 的文件夹,例如 /home 或 /products,并处理各自文件夹中的所有内容(这听起来是个好主意)。

但是,现在我不确定如何加载这些文件,甚至不知道在哪里加载这些文件。

这是我当前的文件结构:

由于某些限制,我无法使用其他有用的工具,这需要直接在代码中进行。

解决这个问题的最佳方法是什么?

问题的第一部分:

没有 默认 方式来组织您的 angular 应用程序。

但是,有一些准则。我一直感谢自己阅读了 Angular 1 app-structuring-guidelines by John Pappa,它让我对你提出的同一个问题有了启发。

目前,我已将我所有的应用程序组织成 folder-by-functionality 方法而不是 folder-by-type 方法(即控制器文件夹中的所有控制器,服务文件夹中的所有服务等) .

你问题的第二部分: 只需使用 Gulp 或 Grunt,然后将单个文件导入索引


Web 越来越面向组件,现在所有最著名的前端框架都采用可重用组件策略(React 和 Angular 2 严重依赖它)

如果您希望 angular 应用程序尽可能模块化,您必须将与组件相关的所有内容放在单独的文件夹中(html 模板、css 样式和 js逻辑),并拆分服务和资产之间的共享逻辑

在您的情况下,项目结构示例可以是:

应用/

  • 资产/ //将图片、字体和共享样式放在这里
  • 服务/
    • apiService.js
    • utilsService.js
    • 等等……
  • 组件
    • 首页/
      • home.js
      • home.css
      • home.html
    • 产品/
      • products.js
      • products.css
      • products.html
    • 等等等等/...
    • index.js

index.html