ZURB Foundation 6 Panini #ifpage не работает

Использование шаблона ZURB Foundation, построение с помощью NPM.

У меня есть следующий код на моей странице макета default.html:

    <script src="{{root}}assets/js/app.js"></script>

    {{#ifpage 'admin'}}
      <script src="{{root}}assets/js/single-page/admin.js"></script>
    {{/ifpage}}

    {{#ifpage 'dashboard'}}
      <script src="{{root}}assets/js/single-page/dashboard.js"></script>
    {{/ifpage}}

В gulpfile.js я являюсь членом массива PATHS 'javascript':

'!src/assets/js/single-page/**/*'

Затем я делаю:

gulp.task('single-page', function() {
  return gulp.src('src/assets/js/single-page/**/*')
    .pipe(gulp.dest('dist/assets/js/single-page'))
    .on('finish', browser.reload);
});

Затем...

gulp.task('build', function(done) {
  sequence('clean', ['pages', 'sass', 'javascript', 'single-page', 'images', 'php', 'chart_data', 'copy'], 'styleguide', done);
});

И наконец...

gulp.task('default', ['build', 'server'], function() {
  gulp.watch(PATHS.assets, ['copy']);
  gulp.watch(['src/pages/**/*'], ['pages']);
  gulp.watch(['src/{layouts,partials,helpers,data}/**/*'], ['pages:reset']);
  gulp.watch(['src/assets/scss/**/{*.scss, *.sass}'], ['sass']);
  gulp.watch(['src/assets/js/**/*.js'], ['javascript']);
  gulp.watch(['src/assets/js/single-page/**/*.js'], ['single-page']);
  gulp.watch(['src/assets/img/**/*'], ['images']);
  gulp.watch(['src/assets/php/**/*'], ['php']);
  gulp.watch(['src/assets/chart_data/**/*'], ['chart_data']);
  gulp.watch(['src/styleguide/**'], ['styleguide']);
});

Мои три страницы — это страницы PHP с именами index.php, admin.php и dashboard.php. Каталог js/single-page записывается в папку dist, и там находятся два файла JS.

Условие Panini, похоже, не работает, поэтому пути, специфичные для администратора и панели инструментов, не отображаются на соответствующих страницах PHP.

Колин Маршалл в своем ответе на Как добавить JavaScript только для одной конкретной страницы? упоминает файл config.yml и gulpfile.babel.js, ни один из которых не находится в каталоге моего проекта.

Какие-либо предложения?

Спасибо.


person Craig Thomas    schedule 02.05.2016    source источник


Ответы (1)


Простое исправление после небольшой возни. Похоже, что Panini 'page' var вернула полное имя страницы, включая .php. Как только я проверил admin.php или dashboard.php, все заработало нормально.

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

person Craig Thomas    schedule 02.05.2016