2015-12-09 63 views
10

我使用的自耕农角度发电机。在gruntfile.js中,/app/views中的每个html文件都被复制到dist/views。但我喜欢将我的指令模板保存在与指令本身相同的文件夹中。咕噜,复制HTML文件的脚本文件夹中生成

例子:

/app/scripts/widgets/mywidget.directive.js 
/app/scripts/widgets/mywidget.tmpl.html 

当我生成项目,我想将HTML文件相同的文件夹结构如上结束。

这也许应该在gruntfile.js复制部分来完成。

copy: { 
    dist: { 
    files: [{ 
     expand: true, 
     dot: true, 
     cwd: '<%= yeoman.app %>', 
     dest: '<%= yeoman.dist %>', 
     src: [ 
     '*.{ico,png,txt}', 
     '*.html', 
     'images/{,*/}*.{webp}', 
     'styles/fonts/{,*/}*.*' 
     ] 
    }... 

我试图在src数组补充一点:

'<%= yeoman.dist %>/scripts/{,*/}*.tmpl.html' 

没有工作。有任何想法吗?

回答

3

你可以将所有.tmpl.html从app/scripts/*移动到dist/scripts/*使用下面的代码修改gruntfile。

files: [{ 
      expand: true, 
      dot: true, 
      cwd: '<%= yeoman.app %>', 
      dest: '<%= yeoman.dist %>', 
      src: [ 
      '*.{ico,png,txt}', 
      '*.html', 
      'views/{,*/}*.html' 
      ] 
     }, { 
      // This block handles copying the .tmpl.html from app/scripts to dist/scripts 
      expand: true, 
      cwd: '<%= yeoman.app %>/scripts', 
      dest: '<%= yeoman.dist %>/scripts', 
      src: '{,*/}*.tmpl.html' 
     } 
     ... 

你会想新的目录添加到usemin块,以及为确保filerev更新令到你模板

usemin: { 
     html: ['<%= yeoman.dist %>/{,*/}*.html', 
      '<%= yeoman.dist %>/scripts/{,*/}*.html'], 
     ... 

你也可能要添加的目录htmlmin来缩小到html

htmlmin: { 
    dist: { 
    ... 
    files: [ 
     { 
     expand: true, 
     cwd: '<%= yeoman.dist %>', 
     src: ['*.html', 'views/{,*/}*.html', 'scripts/{,*/}*.html'], 
     dest: '<%= yeoman.dist %>' 
     } 
    ] 
    } 

修订 这些脚本反映,现在从01移动任何.tmpl.html至dist/scripts/*/。如果您的文件夹结构内部脚本深度超过一级,请将{,*/}*.html更改为**/*.html

+0

但是,这只适用于脚本/小部件?我希望能够在任何级别的文件结构/脚本中具有tmpl.html。 – Per

+0

我已经做了更新,应该涵盖我认为你所要求的 –

1

这是正常行为,是建立在所有文件都复制到DIST文件夹,因为这是标准的构建输出文件夹。
你可以做什么,是改变的配置是这样的:

copy: { 
     main: { 
      files: [{ 
       src: ['img/**'], 
       dest: 'dist/img/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      }, { 
       src: ['pdf/**'], 
       dest: 'dist/pdf/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      },{ 
       src: ['error/**'], 
       dest: 'dist/error/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      }, { 
       src: ['fonts/**'], 
       dest: 'dist/fonts/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      } 
     } 
    } 

这种方法保留dist文件夹中的旧体制。但我想知道,为什么你不使用htmlmin来缩小和打包所有的模板在一起...

相关问题