我的Angular-Meteor-app的文件夹结构如下所示:
.├── 客户│ ├── 应用│ │ ├── 身份验证│ │ │ ├── 登录│ │ │ │ ├── 登录控制器.js│ │ │ │ ├── 登录.html│ │ │ ├── 注册│ │ │ │ ├── ...│ │ │ ├── 重置密码│ │ │ │ ├── ...│ │ │ ├── 路由配置.js│ │ ├── 库│ │ │ ├── 应用模块.js│ │ │ ├── 身份验证模块.js│ │ ├── ...│ ├── ...├── ...
请注意,由于 Meteor 的加载顺序,我不能将auth.module.js
放在auth
目录下,而必须将其放在lib
目录下。否则,Angular 会抱怨在 login.controller.js
中使用时无法注入身份验证模块。(子目录中的文件先于父目录中的文件加载,lib
中的所有文件都先于其他所有文件移动。
我想要的是将auth.module.js
移动到auth
文件夹中,这样我就可以将身份验证模块的所有文件放在正确的位置:
.├── 客户│ ├── 应用│ │ ├── 身份验证│ │ │ ├── 登录│ │ │ │ ├── 登录控制器.js│ │ │ │ ├── 登录.html│ │ │ ├── 注册│ │ │ │ ├── ...│ │ │ ├── 重置密码│ │ │ │ ├── ...│ │ │ ├── 身份验证模块.js│ │ │ ├── 路由配置.js│ │ ├── 库│ │ │ ├── 应用模块.js│ │ ├── ...│ ├── ...├── ...
知道如何管理吗?
我认为你至少有两个选择:
使client/auth
平坦,以便词典排序将在login.controller.js
之前加载auth.module.js
。
│ │ ├── auth
│ │ │ ├── auth.module.js
│ │ │ ├── login.controller.js
│ │ │ ├── login.html
│ │ │ ├── ...
或者使用另一个lib
子目录
│ │ ├── auth
│ │ │ ├── lib
| │ │ │ ├── auth.module.js
│ │ │ ├── login
│ │ │ │ ├── login.controller.js
│ │ │ │ ├── login.html
│ │ │ ├── ...
当然,有人可能会争辩说,你的代码不应该依赖于加载顺序,即,你应该只在加载完所有内容后使用身份验证代码,例如,在模板oMeteor.startup
或onCreate
中。