0

Yeoman build task 打破了我的应用程序开箱即用,我试图看看问题出在哪里。

所以我把其他任务注释掉了,只剩下了:

grunt.registerTask('build', [
    'clean:dist',
    'useminPrepare',
]);

而 useminPrepre 任务的定义如下:

useminPrepare: {
            html: '<%= yeoman.app %>/index.html',
            options: {
                dest: '<%= yeoman.dist %>',
                flow: {
                    steps: {'js': ['concat']},
                    post: {}
                }
            }
        },

构建完成后,输出(见下文)似乎没问题,但dist文件夹为空。如何让 useminPrepare 实际写入文件?

Running "useminPrepare:html" (useminPrepare) task
Going through C:/development/projects/yadazing/bb_ui/app/index.html to update the config
Looking for build script HTML comment blocks

Configuration is now:

  concat:
  { generated:
   { files:
      [ { dest: '<APP_PATH> \\dist\\scripts\\scripts.js',
          src:
           [ '{.tmp,app}\\bower_components\\jquery\\jquery.js',
             <APP_COMPONENTS>\\angular.js'
             .
             .
             ] },

        { dest: ''<APP_PATH>\\dist\\scripts\\modules.js',
          src:
           [ '<APP_MUDULES>\\app\\scripts\\app.js',
             '<APP_MUDULES>\\app\\scripts\\settings.js',
              .
              .
              ]}]}}

Done, without errors.


Execution Time (2014-02-19 22:46:34 UTC)
loading tasks        5ms  
clean:dist           5ms  
useminPrepare:html  26ms
Total 37ms
4

1 回答 1

0

useminprepare 所做的只是修改其他grunt 任务的配置。要查看生成的任务配置的结果,您需要在之后运行这些任务。

任务的集合以及它们执行的顺序称为流程。默认情况下,流程是concat -> uglifyjs,但您可以编写自己的流程。

使用您需要执行的默认流程:

grunt.registerTask( 'lala', ['useminprepare', 'concat', 'uglify'] ); 

查看结果。

于 2014-02-20T19:55:48.107 回答