用自耕农去掉angularjs路线

mar*_*kus 12 angularjs yeoman

与Yeoman我可以添加一个路由和控制器

yo angular:route myroute
Run Code Online (Sandbox Code Playgroud)

有没有办法用Yeoman删除路由和控制器?

Har*_*nam 18

我遇到了删除控制器的类似需求......但是从我发现的文档来看,似乎没有用于删除的api.

参考:https://github.com/yeoman/generator-angular

但是暂时帮助你,我会告诉我做了什么......从我知道的文档中,哪些是为每个命令创建的文件.所以单独删除这些文件,以摆脱yeoman操作产生的文件.

例如

yo angular:route myroute
Run Code Online (Sandbox Code Playgroud)

创建3个文件

1)    app/scripts/controllers/myroute.js              (controller)

2)    app/views/myroute.html                          (view)

3)    app/test/spec/controllers/myroute.js            (testing the controller)
Run Code Online (Sandbox Code Playgroud)

所以单独删除这三个文件.

对于其他人

yo angular:controller user                app/scripts/controllers/user.js

yo angular:directive myDirective          app/scripts/directives/myDirective.js

yo angular:filter myFilter                app/scripts/filters/myFilter.js

yo angular:view user                      app/views/user.html

yo angular:service myService              app/scripts/services/myService.js

yo angular:decorator serviceName          app/scripts/decorators/serviceNameDecorator.js

yo angular:controller user --coffee       app/scripts/controller/user.coffee 
Run Code Online (Sandbox Code Playgroud)

注意:也不要忘记删除app/test/spec中用于测试的测试文件

我们如何确认该功能可能不存在?

源代码,例如控制器

https://github.com/yeoman/generator-angular/blob/master/controller/index.js

api只有Generator.prototype.createControllerFiles,因此removeControllerFiles没有任何内容所以我们应该正确地说这个功能目前还不存在.

  • 不要忘记从应用程序的主模块(`app/scripts/app.js`)中删除路由. (5认同)