0

我正在开发一个非常广泛的 AngularJS 应用程序,为了使其可扩展和维护,我使用了模块化架构,例如:

cart/
  CartModel.js
  CartService.js
common/
  directives.js
  filters.js
product/
  search/
    SearchResultsController.js
    SearchResultsModel.js
  ProductDetailController.js
  ProductModel.js
  ProductService.js
user/
  LoginController.js
  RegistrationController.js
  UserModel.js
  UserService.js

上面的文件结构是 Angular 中模块化结构的一个例子。

问题

是否存在适用于这种结构的 Yeoman 生成器?最流行的,generator-angular,使用简单的结构。

4

2 回答 2

3

有了 scripts 文件夹下的所有 js 文件,您可以通过 grunt-bower-requirejs 使用 requirejs来管理每个模块自己的依赖项。

Grunt/yeoman 需要了解所有模块,但您仍然可以获得您所期望的抽象和解耦。

于 2014-02-20T19:12:24.333 回答
2

您可以简单地自行安排这样的文件。Angular 生成器将停止正常工作(恕我直言,这没什么大不了的),但 Yeoman 中可用的所有其他东西都不会受到影响。

看看这个提交。
本质上它会更改***Gruntfile 并移动适当的文件。
此外MODULES.coffee,在后来的一些提交中引入了文件。它将 AngularJS 模块的创建收集在模块文件夹中的一个位置。这是为我的项目需求而发明的自定义约定,我不知道它是否是社区公认的标准。

它仍然不完美:同一个基于功能的模块的模板和脚本位于 2 个单独的目录树中——它们应该在同一个地方。

编辑:好消息!根据计划,Yeoman 生成的项目结构将基于功能。
资料来源:https ://docs.google.com/presentation/d/1OgABsN24ZWN6Ugng-O8SjF7t0e3liQ9UN7hKdrCr0K8/edit#slide=id.g2b6b56d19_086

于 2014-02-21T07:06:03.220 回答