Не могу выбрать все файлы.hbs в подпапках на окнах
Я хочу предварительно скомпилировать шаблоны ember. Для этого я установил приложение, но могу предварительно скомпилировать только один файл.
Мне нужно выбрать все файлы с расширением.hbs, включая подпапки
Я старался ember-precompile "components/**/*.hbs" -f precompiledTemplates.js
Я получаю сообщение об ошибке
Ошибка: ENOENT, нет такого файла или каталога 'components\**\*. Hbs'
Как мне сказать, программа ищет файлы.hbs во всех подпапках?
2 ответа
Кажется, что в коде Ember-Precompile есть ограничение при обработке файловой структуры Windows и подстановочных знаков.
При запуске ember-precompile в Windows вы должны сделать это через терминал cygwin или аналогичный (в моем случае я использую git bash).
В качестве примера в git bash, когда я печатаю строку ниже в папке проекта, она работает для меня: ember-precompile templates/*. Handlebars -f templates/templates.js
Я подумал, что это, вероятно, не проблема Windows, а ограничение библиотеки, которую я хотел использовать (ember-precompile).
Вместо этого я решил использовать gulp, который хорошо работает https://www.npmjs.org/package/gulp-ember-handlebars
Вот мой gulffile coffeescript для предварительной компиляции шаблонов ember. После запуска gulp, он компилирует мои шаблоны, и, если один из шаблонов изменяется, gulp перекомпилируется.
gulp = require("gulp")
concat = require("gulp-concat")
handlebars = require("gulp-ember-handlebars")
gulp.task( "default", ["precompile-ember-templates"], ()->
# default tasks complete
)
gulp.task( "precompile-ember-templates", ()->
console.log("recompiling templates")
gulp.src( ["client/components/**/*.hbs"] )
.pipe( handlebars({outputType: 'browser'}) )
.pipe( concat("templates-compiled.js") )
.pipe( gulp.dest("client/public/") )
)
gulp.watch( "client/components/**/*.hbs", ["precompile-ember-templates"] )