Generator 使用Assembly定义新布局,并将生成的文件保留为与默认布局相同的目录

Generator 使用Assembly定义新布局,并将生成的文件保留为与默认布局相同的目录,generator,assemble,Generator,Assemble,您好,我创建应用程序,我需要定义新的布局,现在我在grunt文件中使用此代码 assemble: { pages: { options: { flatten: true, assets: '<%= config.dist %>/assets', layout: '<%= config.src %>/templates/layouts/default.hbs', data: '<%= config.src %

您好,我创建应用程序,我需要定义新的布局,现在我在grunt文件中使用此代码

assemble: {
  pages: {
    options: {
      flatten: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: {
      '<%= config.dist %>/': ['<%= config.src %>/templates/pages/*.hbs']
    }
  }
},
汇编:{
页码:{
选项:{
扁平化:是的,
资产:'/assets',
布局:'/templates/layouts/default.hbs',
数据:'/data/*.{json,yml}',
分部:'/templates/partials/{,*/}*.hbs'
},
档案:{
“/”:[”/templates/pages/*.hbs']
}
}
},
现在我读了文档,把Nessery的代码写成这样

assemble: {
  pages: {
    options: {
      flatten: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: {
      '<%= config.dist %>/': ['<%= config.src %>/templates/pages/*.hbs']
    }
  },
  simple: {
    options: {
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/simple.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,}*.hbs'
    },
    files: {
      '<%= config.dist %>/': ['<%= config.src %>/templates/pages/simple/*.hbs']
    }
  }
},
汇编:{
页码:{
选项:{
扁平化:是的,
资产:'/assets',
布局:'/templates/layouts/default.hbs',
数据:'/data/*.{json,yml}',
分部:'/templates/partials/{,*/}*.hbs'
},
档案:{
“/”:[”/templates/pages/*.hbs']
}
},
简单:{
选项:{
资产:'/assets',
布局:'/templates/layouts/simple.hbs',
数据:'/data/*.{json,yml}',
分部:'/templates/partials/{,}*.hbs'
},
档案:{
“/”:[”/templates/pages/simple/*.hbs']
}
}
},
基本上,我声明新布局简单,并尝试强制生成的模板位于同一目录中,但结果是-dist/src/templates/pages/simple/name\u of_file.html 此代码在默认情况下工作,但在其他布局中不工作

有什么帮助吗?这是可能的,我有解决办法,但会很高兴把这件事完成

不管怎样,我找到了解决办法

assemble: {
  pages: {
    options: {
      flatten: false,
      expand: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  },
  simple: {
    options: {
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/simple.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/pages/simple/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  }
},
汇编:{
页码:{
选项:{
扁平化:错误,
是的,
资产:'/assets',
布局:'/templates/layouts/default.hbs',
数据:'/data/*.{json,yml}',
分部:'/templates/partials/{,*/}*.hbs'
},
档案:[
{expand:true,cwd:'/templates/pages/',src:'***.hbs',dest:'/',ext:'.html'}
]
},
简单:{
选项:{
资产:'/assets',
布局:'/templates/layouts/simple.hbs'
},
档案:[
{expand:true,cwd:'/templates/pages/simple/',src:'***.hbs',dest:'/',ext:'.html'}
]
}
},

我找到了一个解决方案,答案就在这里

assemble: {
  pages: {
    options: {
      flatten: false,
      expand: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  },
  error: {
    options: {
      flatten: false,
      assets: '<%= config.dist %>/assets',
      data: '<%= config.src %>/data/*.{json,yml}',
      layout: '<%= config.src %>/templates/layouts/error.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/error-pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  },
  login: {
    options: {
      flatten: false,
      assets: '<%= config.dist %>/assets',
      data: '<%= config.src %>/data/*.{json,yml}',
      layout: '<%= config.src %>/templates/layouts/login.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/login-pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  }
汇编:{
页码:{
选项:{
扁平化:错误,
是的,
资产:'/assets',
布局:'/templates/layouts/default.hbs',
数据:'/data/*.{json,yml}',
分部:'/templates/partials/{,*/}*.hbs'
},
档案:[
{expand:true,cwd:'/templates/pages/',src:'***.hbs',dest:'/',ext:'.html'}
]
},
错误:{
选项:{
扁平化:错误,
资产:'/assets',
数据:'/data/*.{json,yml}',
布局:'/templates/layouts/error.hbs'
},
档案:[
{expand:true,cwd:'/templates/error pages/',src:'***.hbs',dest:'/',ext:'.html'}
]
},
登录:{
选项:{
扁平化:错误,
资产:'/assets',
数据:'/data/*.{json,yml}',
布局:'/templates/layouts/login.hbs'
},
档案:[
{expand:true,cwd:'/templates/login pages/',src:'***.hbs',dest:'/',ext:'.html'}
]
}

我创建了两个新布局,一个用于错误页面,另一个用于登录页面。所有页面都在同一目录中生成。

如果您愿意,可以将解决方案作为答案发布,如果没有人发布更好的解决方案,则只需将其标记为正确。当然,我只需等待8小时,因为网站有规则。