Yeoman:覆盖`app`位置

时间:2014-04-13 14:08:13

标签: yeoman

我使用自耕农,凉亭,nmp和grunt为我的角度项目。基本上我要用app替换默认_attachments位置。我在Gruntfile.js

中做了这个改变
Gruntfile.js:      app: require('./bower.json').appPath || '_attachments'

然而,当我创建控制器时,使用yeoman的视图,例如yo angular:controller xxx它仍会在app目录中创建。如何覆盖?

2 个答案:

答案 0 :(得分:0)

根据generator-angular的文档中的this,您可以将appPath选项添加到bower.json,如下所示。

{
  ...
  "appPath": "_attachments"
}

此选项在以下代码中加载:generator-angular的script-base.js

     this.env.options.appPath = require(path.join(process.cwd(), 'bower.json')).appPath;
this.env.options.appPath函数中使用

Generator.prototype.appTemplate()来指定输出目录。

 Generator.prototype.appTemplate = function (src, dest) {
   yeoman.generators.Base.prototype.template.apply(this, [
     src + this.scriptSuffix,
     path.join(this.env.options.appPath, dest.toLowerCase()) + this.scriptSuffix
   ]);
 };

我还确认appPathbower.json按预期为我工作。

答案 1 :(得分:0)

这是一个相当古老的问题,但我相信你要找的是项目目录中的.yo-rc.json。在那里,您可以设置由yeoman创建各种项目的目录。