Проект Ember CLI падает, когда я изменяю файл CSS. Я что-то упускаю?

Я новичок в Ember, но использовал Ember CLI для создания проекта и уже в пути. Многому нужно научиться, но я очень впечатлен до сих пор.

Во всяком случае, насколько я понимаю, проекты Ember CLI используют функции просмотра файлов broccoli для создания среды «непрерывной разработки». Я видел это в действии: когда я меняю шаблоны или файлы javascript, мои изменения сразу становятся очевидными, когда я переключаюсь обратно в браузер.

Но когда я вношу изменения в файлы css, мое приложение вылетает. Вывод консоли ниже. Обратите внимание, что когда я перезапускаю приложение с помощью ember server, все работает, как и ожидалось. Так что это не какая-то синтаксическая ошибка CSS или что-то подобное.

Итак ... мне это кажется ошибкой, но я настолько новичок здесь, что мне интересно, не упускаю ли я что-то очень простое.

Мы также не говорим о файлах SASS. Я получаю эту ошибку, если я изменяю один символ в очень маленьком файле /app/styles/app.css — сгенерированном ember new. Я также попытался переместить правило стиля в файл с именем my.css и оставить app.css пустым, за исключением этой одной строки: @import 'my.css'; No love.

Кто-нибудь может помочь? Заранее спасибо,

-Билли Б.

D:\BitBucket\dispatch-alert\node_modules\ember-cli\node_modules\broccoli-sane-watcher\node_modules\sane\index.js:246
Object.keys(this.dirRegistery[dir]).forEach(function(file, i, arr) {
     ^
TypeError: Object.keys called on non-object
at Function.keys (native)
at Watcher.detectChangedFile (D:\BitBucket\dispatch-alert\node_modules\ember
-cli\node_modules\broccoli-sane-watcher\node_modules\sane\index.js:246:10)
at Watcher.normalizeChange (D:\BitBucket\dispatch-alert\node_modules\ember-c
li\node_modules\broccoli-sane-watcher\node_modules\sane\index.js:280:10)
at FSWatcher.EventEmitter.emit (events.js:98:17)
at FSEvent.FSWatcher._handle.onchange (fs.js:1039:12)

Обновлять:

Основываясь на помощи, которую я получил до сих пор (спасибо, ребята) и немного поковырявшись, у меня есть теория: поскольку я могу прекрасно редактировать файлы в других каталогах и других редакторах, я делаю вывод, что app/styles просто не в списке "просматриваемых" каталогов. Это может быть просто ошибка упущения, но мне интересно, не является ли это преднамеренным. Разве этот каталог не обрабатывается Compass и другими препроцессорами CSS, которые могут иметь свои собственные системы просмотра файлов или иные проблемы? с просматриваемыми файлами?Возможно, создатели ember-cli намеренно пропустили этот каталог?

Как мне это узнать? А что мне делать? Зайти в проект ember-cli и попросить там помощи? Я пытался найти, где может храниться список отслеживаемых каталогов, но пока безуспешно.


person BillyB    schedule 25.06.2014    source источник
comment
Какую версию ember-cli вы используете?   -  person JeroenHoek    schedule 25.06.2014
comment
вы используете возвышенное (3)? Я смог отследить эту ошибку до возвышенного. Когда я изменяю файл app.css/.less в другом редакторе, он работает.   -  person AyKarsi    schedule 25.06.2014
comment
@JeroenHoek, я использую ember-cli 0.0.36.   -  person BillyB    schedule 26.06.2014
comment
@AyKarsi, я действительно использую Sublime 3. WebStorm дает те же результаты, но что интересно, когда я редактирую с помощью Блокнота (я работаю в Windows), все работает так, как ожидалось.   -  person BillyB    schedule 26.06.2014
comment
На самом деле я бы исключил, что папка стилей не просматривается. потому что выдается ошибка в вменяемой библиотеке, единственной целью которой является просмотр файлов. (Я создал проблему там, хотя я не на 100%, что проблема связана с stackoverflow.com/questions/24401900/)   -  person AyKarsi    schedule 26.06.2014
comment
Боюсь, ваша теория неверна; app/styles просматривается по умолчанию. Ember-cli устанавливает конвейер Broccoli, в котором таблицы стилей CSS, SASS, LESS или Stylus предварительно обрабатываются плагинами broccoli. Предварительная обработка активов является частью смысла существования.   -  person JeroenHoek    schedule 26.06.2014
comment
Если вы собираетесь зарегистрировать проблему с помощью ember-cli, лучшее, что вы можете сделать, это создать новый проект с помощью ember new и попытаться воспроизвести проблему с помощью нескольких редакторов. Кроме того, вы читали немного о Sublime 3 в документации? См.: iamstef.net/ember-cli.   -  person JeroenHoek    schedule 26.06.2014
comment
Проблема в том, что приложение/стили просматриваются дважды: один раз через ./app и снова через ./app/styles. Я создал задачу в ember-cli с дополнительной информацией: github.com/stefanpenner/ ember-cli/issues/1166   -  person AyKarsi    schedule 26.06.2014
comment
Дважды смотрел. Верно. Я поместил ваш обходной путь в .../node_modules\ember-cli\node_modules\broccoli-sane-watcher\node_modules\sane. Он сработал и предотвратил сбой, но я получил "Error: EPERM, unlink 'D:\BitBucket\dispatch-alert\dist\.gitkeep'. В любом случае я благодарю вас за вашу помощь! Буду ждать исправления.   -  person BillyB    schedule 26.06.2014


Ответы (1)


Обходной путь на данный момент состоит в том, чтобы изменить index.js в строке 246 (в соответствии с вашей ошибкой и моими сообщениями об ошибках) в нормальном модуле и добавить что-то вроде этого:

if (!this.dirRegistery[dir]){
    console.log('error',' empty/unkown dir',dir);
    callback();
    return;
}

Не знаю, действительно ли это исправление. Как-то это связано с возвышенным. (Кэширование, блокировка файлов?)..

person AyKarsi    schedule 25.06.2014
comment
Я вставил этот код, а пустой/неизвестный каталог — app/styles. (Спасибо за этот фрагмент, кстати). Основываясь на том, что я видел до сих пор, у меня есть теория. Смотрите мои правки и вопросы выше. - person BillyB; 26.06.2014