使用 angular 生成器在视图下创建子目录

Having sub directories under views using yo angular generator

所以我开始了哟 angular 一个新项目,它很棒,唯一的问题是我喜欢构建我的观点并有部分等,例如对我来说一个很好的结构就像以下:

app/views/_partials/modals
app/views/_partials/menus
app/views/_partials/buttons
app/views/index.html
app/views/about.html

但是,似乎 angular 生成器在构建到 dist 文件夹时没有查看子目录,我得到了各种丢失的包含和错误。

我可以更改 Grunt 以查看这些子目录并相应地处理视图,以便它们在构建后出现在我的应用程序中吗?

我在我的 Grunt 文件中找到了一个有趣的块,我认为它可能与此有关:

ngtemplates: {
  dist: {
    options: {
      module: 'myApp',
      htmlmin: '<%= htmlmin.dist.options %>',
      usemin: 'scripts/scripts.js'
    },
    cwd: '<%= yeoman.app %>',
    src: 'views/{,*/}*.html',
    dest: '.tmp/templateCache.js'
  }
},

或者是 usemin 块中的东西?我很困惑(Angular 相对较新):

usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  js: ['<%= yeoman.dist %>/scripts/{,*/}*.js'],
  options: {
    assetsDirs: [
      '<%= yeoman.dist %>',
      '<%= yeoman.dist %>/images',
      '<%= yeoman.dist %>/styles'
    ],
    patterns: {
      js: [[/(images\/[^''""]*\.(png|jpg|jpeg|gif|webp|svg))/g, 'Replacing references to images']]
    }
  }
},

好的,所以我想通了,问题出在 ngtemplates 块中,我的代码现在如下所示:

ngtemplates: {
  dist: {
    options: {
      module: 'myApp',
      htmlmin: '<%= htmlmin.dist.options %>',
      usemin: 'scripts/scripts.js'
    },
    cwd: '<%= yeoman.app %>',
    src: 'views/**/**/*.html',
    dest: '.tmp/templateCache.js'
  }
},

请注意 src 属性已更改自:

src: 'views/{,*/}*.html',

至:

src: 'views/**/**/*.html',

这似乎捕获了我在 _partials 目录中的所有模板