2015-07-03 5 views
0

У меня есть приложение, которое имеет 3 страницы, которые я хотел бы быть автономными. В интересах кода DRY я хотел бы сделать «включено» для содержимого верхнего и нижнего колонтитула. Я просмотрел документы и примеры для grunt-html-build, и я как-то подкрался. Весь HTML-код находится на пути 'src/html', причем включает в себя находящуюся в подпапке под названием «включает»: 'src/html/includes'.Использование Grunt для базовых включает в себя

Вот HTML пример:

<!doctype html> 
<html> 
    <head> 
    <!-- build:section head --><!-- /build --> 
    </head> 

    <body> 
    <p>A bunch of unique content for each of the pages</p> 

    <!-- build:section footer --><!-- /build --> 
    </body> 
</html> 

А потом в моей у меня есть следующие:

htmlbuild: { 
    src: 'src/html/app-*.html', 
    dest: 'dist/', 
    options: { 
    sections: { 
     head: 'src/html/includes/head.html', 
     footer: 'src/html/includes/footer.html' 
    } 
    } 
} 

Я уверен, что это только синтаксис, но я не могу показаться, чтобы получить мимо этой ошибки:

Warning: an error occurred while processing a template (Unexpected identifier).

Сам факт, что это «Неожиданный идентификатор» говорит мне, что я не усекаю «i» или не пересекаю «t» должным образом. Более опытные глаза оцениваются!

Примечание: Вместо этого я рассмотрел использование , но без globbing мне пришлось бы сделать 3 отдельные задачи, чтобы сохранить неповторимый контент неповрежденным.


[редактировать добавить:]

Я имел успех для моей очень простого варианта использования, используя другую черновую задачу под названием (соответственно) grunt-includes. Я смог соответствующим образом включить файлы.

Тем не менее, я по-прежнему интересуюсь мощностью для для условного создания dev или дистрибутивных пакетов. Любое понимание все еще ценится!

ответ

1

htmlbuild является многозадачной, поэтому вам нужно определить свои файлы под цели:

module.exports = function(grunt) { 
    grunt.initConfig({ 
     htmlbuild: { 
      dist: { 
       src: 'src/html/app-*.html', 
       dest: 'dist/', 
       options: { 
        sections: { 
         head: 'src/html/includes/head.html', 
         footer: 'src/html/includes/footer.html' 
        } 
       } 
      } 
     } 
    }); 
    grunt.loadNpmTasks('grunt-html-build'); 
    grunt.registerTask('default', ['htmlbuild']); 
}; 
+0

Спасибо, что нашли время ответить! Я получил код непосредственно из их документации. Вот основной образец, который я получил: https://github.com/spatools/grunt-html-build/blob/master/docs/sections.md, который показывает, что у него нет цели. Как бы то ни было, я дал ему уйти, и он вернул эту ошибку: «Невозможно прочитать свойство« dest »неопределенного». Я удивлен, что не могу найти больше статей или образцов для «базовых включений»! –

+0

Привет, я обновил свой ответ с помощью точного файла Gruntfile, который я успешно проверил на своей машине. Можете ли вы попробовать это на вашей стороне? –

+0

Кроме того, я пробовал без определения цели, и я получил ошибку. Цель ('dist' here) ** обязательна - я предполагаю, что в документации grunt-html-build есть некоторые проблемы. –

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