2013-05-28 3 views
2

Я использую Yeoman и пытаюсь настроить requirejs для оптимизации моих CSS-файлов.grunt-requirejs - как оптимизировать CSS?

я это в моих Gruntfile.js:

requirejs: { 
    css: { 
    options: { 
     optimizeCss: 'standard', 
     cssIn: 'app/styles/main.css', 
     out: 'app/styles/main.min.css' 
    } 
    } 
} 

Когда я запускаю команду сборки я получаю сообщение об ошибке:

grunt build 

Running "requirejs:css" (requirejs) task 
>> Error: TypeError: new path must be a string 
>>  at Object.fs.renameSync (fs.js:439:18) 
Warning: Task "requirejs:css" failed 

Я не совсем уверен, что там происходит, или как отладить это.

Кто-нибудь знает, в чем проблема?

ответ

3

Ничего, я сработал.

Заблудшая задача, которая поставляется с Йоменом с конфигурацией grunt-requirejs. Вид раздражает, особенно. так как точка, в которой я хотел использовать grunt-requirejs, заключалась в том, что мне не нравилось, как работает usemin.

UPDATE:

Это моя конфигурация, которая работает:

//index.html: 

<!-- build:js scripts/scripts.js --> 
<script data-main="scripts/main" src="components/requirejs/require.js"></script> 
<!-- endbuild --> 


//Gruntfile.js: 

requirejs: { 
    js: { 
    options: { 
     baseUrl: '<%= yeoman.tmp %>/scripts', 
     out: '<%= yeoman.dist %>/scripts/scripts.js', 
     name: 'main', 
     optimize: 'none', 
     mainConfigFile: '<%= yeoman.app %>/scripts/main.js', 
     useStrict: true, 
     wrap: true 
    } 
    }, 
    css: { 
    options: { 
     optimizeCss: 'standard', 
     cssIn: '<%= yeoman.app %>/styles/main.css', 
     out: '<%= yeoman.dist %>/styles/main.css' 
    } 
    } 
}, 
useminPrepare: { 
    html: '<%= yeoman.app %>/index.html', 
    options: { 
    dest: '<%= yeoman.dist %>' 
    } 
}, 
usemin: { 
    html: '<%= yeoman.dist %>/index.html', 
    options: { 
    dirs: ['<%= yeoman.dist %>'] 
    } 
} 

grunt.registerTask('build', [ 
    'requirejs:js', 
    'requirejs:css', 
    'useminPrepare', //must be after requirejs:css as it breaks its config params 
    'usemin' 
]); 

Примечание: Существует еще основная ошибка в хрюкать-usemin, где он (ошибочно) пытается изменить requirejs конфигурации для Конфигурация requirejs: css. У меня есть reported that here

+0

Вы можете удалить usemin, если он вам не нужен. –

+0

Правда, но я думаю, что мне это нужно. Но только потому, что мне по-прежнему нужен способ создания правильной ссылки на require.js в моем index.html для обоих режимов server/build. См. Обновленный ответ выше. – asgeo1

Смежные вопросы