3

我有以下目录结构:

--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”

然后另一个错误说Destination (js/page) notwritten 因为源文件是空的

任何想法为什么?

4

2 回答 2

9

对于其他人来说,上面的第二个选项几乎可以工作,但我需要删除选项块并在文件块中包含扩展:

pages: {
            files: [{
                expand: true,
                cwd: 'development/js/page',
                src: '*.js',
                dest: 'js/page/',
                ext : '.min.js',
            }]
            }
于 2014-04-03T15:39:34.627 回答
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']
            }
        }
    },
于 2015-07-16T01:41:31.670 回答