Использование шаблонов глобуса не для ключей Grunt по умолчанию
1. Резюме
Я не могу установить плагин grunt-clean-console, чтобы он работал для всех моих .html
файлы.
2. Детали
grunt-clean-console проверить ошибки консоли браузера для .html
файлы.
Я хочу проверить ошибки консоли браузера для всех .html
файлы моего сайта. В официальном описании я прочитал, как плагин работает для конкретных значений url
ключ. У меня много страниц на моем сайте; Я не хочу добавлять друг .html
файл отдельно. Но я не могу найти, как я могу использовать шаблоны.
Я считаю, что я могу использовать шаблоны для встроенного Grunt cwd
, src
, dest
ключи. Но как я могу использовать шаровые (или другие) шаблоны для пользовательских клавиш в качестве url
этого плагина?
3. Данные
Gruntfile.coffee
:module.exports = (grunt) -> grunt.loadNpmTasks 'grunt-clean-console' grunt.initConfig 'clean-console': all: options: url: 'output/index.html' return
пример конфигурации проекта:
output │ 404.html │ index.html │ ├───KiraFirstFolder │ KiraFirstfile.html │ └───KiraSecondFolder KiraSecondFile.html
Если я установлю конкретные значения для
url
ключ без шаблонов, как в примере выше, grunt-clean-console успешно работает:phantomjs: opening page output/index.html phantomjs: Checking errors after sleeping for 5000ms ok output/index.html phantomjs process exited with code 0 Done.
3.1. Действия по воспроизведению
Я бегу в консоли:
grunt clean-console --verbose
4. Не помогло
4.1. подстановка
Gruntfile.coffee
:module.exports = (grunt) -> grunt.loadNpmTasks 'grunt-clean-console' grunt.initConfig 'clean-console': all: options: url: 'output/**/*.html' return
выход:
phantomjs: opening page http://output/**/*.html phantomjs: Unable to load resource (#1URL:http://output/**/*.html) phantomjs: phantomjs://code/runner.js:30 in onResourceError Error code: 3. Description: Host output not found phantomjs://code/runner.js:31 in onResourceError phantomjs: loading page http://output/**/*.html status fail phantomjs://code/runner.js:50 phantomjs process exited with code 1 url output/**/*.html has 1 error(s) >> one of the urls failed clean-console check Warning: Task "clean-console:all" failed. Use --force to continue. Aborted due to warnings.
4.2. Строительство объекта динамично
Gruntfile.coffee
(пример):module.exports = (grunt) -> grunt.loadNpmTasks 'grunt-clean-console' grunt.initConfig 'clean-console': all: options: url: files: [ expand: true cwd: "output/" src: ['**/*.html'] dest: "output/" ] return
выход:
File: [no files] Options: urls=[], timeout=5, url=["output/**/*.html"] Fatal error: missing url
4,3. Шаблоны
Gruntfile.coffee
:module.exports = (grunt) -> grunt.loadNpmTasks 'grunt-clean-console' grunt.initConfig 'clean-console': all: options: url: '<%= kiratemplate %>' kiratemplate: ['output/**/*.html'], return
выход:
phantomjs: opening page http://output/**/*.html phantomjs: Unable to load resource (#1URL:http://output/**/*.html) phantomjs: phantomjs://code/runner.js:30 in onResourceError Error code: 3. Description: Host output not found phantomjs://code/runner.js:31 in onResourceError loading page http://output/**/*.html status fail phantomjs://code/runner.js:50 phantomjs process exited with code 1 url output/**/*.html has 1 error(s) >> one of the urls failed clean-console check Warning: Task "clean-console:all" failed. Use --force to continue. Aborted due to warnings.
1 ответ
Создать функцию до grunt.initConfig
часть, которая использует grunt.file.expand
, Например:
Gruntfile.js
module.exports = function(grunt) {
grunt.loadNpmTasks 'grunt-clean-console'
// Add this function...
function getFiles() { return grunt.file.expand('output/**/*.html'); }
grunt.initConfig({
'clean-console': {
all: {
options: {
url: getFiles() // <-- invoke the function here.
}
}
}
// ...
});
// ...
}
Заметки:
-
getFiles
функция возвращает массив путей к файлам для всех.html
файлы, соответствующие заданному шаблону глобуса, т.е.'output/**/*.html'
, - Значение
options.url
свойство установлено вgetFiles()
чтобы вызвать функцию.