在yeoman中导航文件夹结构

时间:2016-11-27 10:30:16

标签: javascript yeoman-generator

您好我正在构建一个Yeoman发电机来创建一个wordpress / grunt / bootstrap锅炉板。 我知道一个已经存在,但我想以特定的方式设置wordpress主题。

我的第一步是在项目目录中安装最新的wordpress。 我用

this.composeWith('wordpress', {});

调用另一个yeoman生成器为我安装wordpress。 我的问题是wordpress文件直接复制到根目录中。有没有办法让generator-wordpress安装在特定的子目录中?

我知道在设置wordpress生成器以指定自定义文件夹结构时有一个选项,但我不想去那里只是在正确的目录中调用生成器。

此致

亚历

经过一些研究后,似乎已经添加了一个选项:

https://github.com/yeoman/generator-node/pull/186/files

只有我无法在这里工作才是我的index.js

var generators = require('yeoman-generator');
var userVars ={};

module.exports = generators.Base.extend({

constructor: function () {
// Calling the super constructor is important so our generator is correctly  set up
generators.Base.apply(this, arguments);

// Next, add your custom code
this.option('coffee'); // This method adds support for a `--coffee` flag

var done = this.async();

},

  prompting: function () {
    return this.prompt([{
          type    : 'input',
          name    : 'name',
          message : 'Your project name',
          default : this.appname // Default to current folder name
    }, 

    {
          type    : 'input',
          name    : 'themeName',
          message : 'Your wordpress theme name',
          default : this.appname // Default to current folder name
    }]).then(function (answers) {
    userVars = {
        name : answers.name,
        themeName : answers.themeName,
    }
      this.log('app name', answers.name);
      this.log('theme name', answers.themeName);
     }.bind(this));
  },


  installWordpress: function() {
this.composeWith('wordpress', { options: { generateInto:'./wordpress'}});
},
 method1: function () {
   console.log();
 },
 method2: function () {
    console.log('method 2 just ran');
 }

});

1 个答案:

答案 0 :(得分:1)

generator-nodegenerator-wordpress是不同的生成器。它们不会暴露相同的选项,也不会以相同的方式工作。

您需要检查wordpress生成器提供的选项。如果他们不支持在特定目录中生成,您应该让generator-wordpress维护者添加一个选项。

核心Yeoman系统没有提供覆盖组合生成器的目标文件夹的方法。