Grunt 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/страница) не записано, потому что исходные файлы пусты.

Есть идеи, почему?


person Mike Rifgin    schedule 03.04.2014    source источник


Ответы (2)


Для всех, кто ищет второй вариант выше, он почти сработал, но мне нужно было удалить блок параметров и включить расширение в блок файлов:

pages: {
            files: [{
                expand: true,
                cwd: 'development/js/page',
                src: '*.js',
                dest: 'js/page/',
                ext : '.min.js',
            }]
            }
person Mike Rifgin    schedule 03.04.2014
comment
Я тебя люблю. Если бы я мог проголосовать за это 20 раз, я бы это сделал. - person technophobia; 11.12.2015

Хотел ответить другим вариантом.

Вот как я пишу свою задачу 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']
            }
        }
    },
person Chad    schedule 16.07.2015