【发布时间】:2013-06-18 11:51:50
【问题描述】:
我使用特定的模块名称创建了我的 Angular 应用程序,现在我决定更改它。
所以当我这样做时
yo angular:controller myController
它创造
angular.module('MyTestModule')
Yo 在哪里找这个,无论如何要更新它??
谢谢
【问题讨论】:
我使用特定的模块名称创建了我的 Angular 应用程序,现在我决定更改它。
所以当我这样做时
yo angular:controller myController
它创造
angular.module('MyTestModule')
Yo 在哪里找这个,无论如何要更新它??
谢谢
【问题讨论】:
在当前版本(Yeoman 1.0.4,generator-angular 0.4.0)中,名称似乎取自文件 bower.json 中的 "name" 属性。
【讨论】:
"test" -> "testApp", "testForm" -> "testFormApp", "test-form" -> "testFormApp" 恕我直言,它并不那么明显。
bower.json 中,您还拥有moduleName 属性。我都改了。
在您上面的描述中,“控制器 myController”中有一个额外的“l”,这将默认导致 yeoman(或 yo)创建一个完整的角度部署,而不仅仅是控制器。在任何情况下,它都会从您的部署目录中获取该名称的一部分。举个例子,我这样做了:
mkdir yotest
cd yotest
npm install -g yo grunt-cli bower generator-angular
yo angular:controller myController
vi app/scripts/controllers/myController.js
并注意我的控制器模块的名称:
...
angular.module('yotestApp')
...
【讨论】:
根据我的经验(我不使用 bower,然后系统地删除所有关于它的文件),Yo 从主文件夹中提取主模块的名称。
关于'App'后缀,根据这个提交https://github.com/yeoman/generator-angular/commit/09f0f7b3a8c3264b7527bc9fed8c709becec99eb,可以在运行yo angular命令时使用--app-suffix="foobar"修改:
yo angular foobar --app-suffix=""
yo angular:controller myCtrl --app-suffix=""
将创建:
foobar的模块
foobar.myCtrl
但我不知道如何将此选项设置为默认行为。我不认为这是可能的。
【讨论】:
感谢大家的帮助。经过一番调查,名称似乎取自component.json,编辑此文件意味着功能脚手架将采用新名称。
【讨论】: