尝试使用grunt-contrib-uglify时出错:"src文件为空"

And*_*dry 6 javascript gruntjs grunt-contrib-uglify

我有以下内容Gruntfile.js:

module.exports = function(grunt) {
  var config = {
    pkg: grunt.file.readJSON('package.json'),

    /* Some other tasks... */

    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      def: {
        files: {
          'out/src.js': 'out/src.min.js'
        }
      }
    }
  };

  grunt.initConfig(config);
  grunt.loadNpmTasks('grunt-contrib-uglify');

  grunt.registerTask('default', [/* <other-tasks>, */ 'uglify:def']);
};
Run Code Online (Sandbox Code Playgroud)

文件夹结构如下:

project
  |
  +-out (folder)
  +-Gruntfile.js
Run Code Online (Sandbox Code Playgroud)

重要提示:gruntproject文件夹中运行.

在运行时grunt,有前一个任务uglify:def是负责生成src.jsproject/out.

当我运行时,grunt我可以看到src.js生成project/out,但当Grunt运行时,uglisy:def我收到以下错误:

运行"uglify:def"(uglify)任务.

目标输出/ src.js未写入,因为src文件为空.

没有创建文件.

我究竟做错了什么?

日志

--verbose我跑步时,我得到:

Running "uglify:def" (uglify) task
Verifying property uglify.def exists in config...OK
Files: [no src] -> out/src.js
Options: banner="/*! My Pack 2015-07-19 */\r\n", footer="", compress={"warnings":false}, mangle={}, beautify=false, report="
min", expression=false, maxLineLen=32000, ASCIIOnly=false, screwIE8=false, quoteStyle=0
>> Destination out/src.js not written because src files were empty.
>> No files created.
Run Code Online (Sandbox Code Playgroud)

Luc*_*llo 5

我有如下配置,它对我来说很好.

    // uglify javascript
    uglify: {
        dev: {
            options: {
                mangle: true
            },
            files: {
                'js/dest.min.js': 'js/source.js'
            }
        }
    },
Run Code Online (Sandbox Code Playgroud)

可能你把目的地与来源混淆了.尝试切换它们.