Grunt在文件名中创建带有随机数的文件?

时间:2016-07-23 11:53:47

标签: angularjs gruntjs yeoman minify uglifyjs

我用自耕农创造了一个角度项目。当我构建时,app.js文件在dist文件夹中创建,但文件名是app.js,但它是app.2bf032ifs.js 我不知道为什么?

以下是我写uglify的方法 -

uglify: {
     build: {
         src: '<%= yeoman.app %>/scripts/**/*.js',
         dest: '<%= yeoman.dist %>/scripts/app.js'
}
},

在运行Grunt命令时,我收到消息

Running "ngtemplates:dist" (ngtemplates) task
File .tmp/templateCache.js created.
>> Usemin has not created uglify.generated yet!

1)我不知道如何在dist文件夹中获取正确的文件名,怎么样? 2)如何摆脱上述消息? 3)文件名,在生成最终的css文件时也有类似的行为。

注意 - 以下是我的usemin任务

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']]
    }
  }
},

1 个答案:

答案 0 :(得分:1)

这是因为一个名为&#39; filerev&#39;的任务,这个策略用于告诉浏览器每次都下载一个新的文件副本,以便它不被缓存。如果您不希望它发生,请评论任务&#39; filerev&#39;。

类似的东西:

grunt.registerTask('build', [
'clean:dist',
'wiredep',
'useminPrepare',
'concurrent:dist',
'postcss',
'ngtemplates',
'concat',
'ngAnnotate',
'copy:dist',
'cdnify',
'cssmin',
'uglify',
//'filerev',
'usemin',
'htmlmin'

]);