Grunt uglify没有找到文件

时间:2014-04-03 13:47:48

标签: gruntjs grunt-contrib-uglify

我有以下目录结构:

--development 
  -js
    -pages

--js
  -pages

我试图将所有文件放在development / js / pages中并输出js / pages并使用grunt uglify缩小它们但仍保留单独的文件 - 我不想将所有文件合并在一起。我尝试过以下方法:

build: {
            src: 'development/js/pages/*.js',
            dest: 'js/page',
            options: {
                sourceMap: true,
                compress: true,
                mangle: true
            }
        } 

但是这给了我一个错误:无法编写js / page文件

然后我尝试了这个,这是在uglify文档中:

build : {
            files: [{
                cwd: 'development/js/pages',
                src: '*.js',
                dest: 'js/page'
            }],
            options : {
                sourceMap: true,
                compress: true,
                mangle: true

            }
}

但是这只是给了我在development / js / pages中的每个文件的错误:

源文件" filename.js"找不到

然后是另一个错误,说明目标(js / page)未写入,因为源文件为空

任何想法为什么?

2 个答案:

答案 0 :(得分:7)

对于其他任何看上面第二个选项的人几乎都工作但我需要删除选项块并在文件块中包含expand:

pages: {
            files: [{
                expand: true,
                cwd: 'development/js/page',
                src: '*.js',
                dest: 'js/page/',
                ext : '.min.js',
            }]
            }

答案 1 :(得分:0)

我想用另一个选项回答。

以下是我如何编写我的Uglify Grunt任务,如果你想保留你的选择。它的设置为(dest:src),我还在Uglify之前在任务中连接我的所有库文件。

-

uglify: {
        options: {
            // the banner is inserted at the top of the output
            banner: '/* \n Site: <%= pkg.name %> \n Version: <%= pkg.version %> \n Build Date: <%= grunt.template.today("mm-dd-yyyy") %> \n */\n \n'
        },
        site: {
            files: {
                './_build/js/lib/lib.min.js': ['<%= concat.site.dest %>'],
                './_build/js/app/app.min.js': ['./_build/js/app/app.js']
            }
        }
    },