#ember-cli
#ember-cli
Вопрос:
Я довольно новичок в 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:BitBucketdispatch-alertnode_modulesember-clinode_modulesbroccoli-sane-watchernode_modulessaneindex.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:BitBucketdispatch-alertnode_modulesember
-clinode_modulesbroccoli-sane-watchernode_modulessaneindex.js:246:10)
at Watcher.normalizeChange (D:BitBucketdispatch-alertnode_modulesember-c
linode_modulesbroccoli-sane-watchernode_modulessaneindex.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 и попросите помощи там? Я пытался найти, где может храниться список просматриваемых каталогов, но пока безуспешно.
Комментарии:
1. Какую версию ember-cli вы используете?
2. используете ли вы sublime (3)? Я смог отследить эту ошибку вплоть до sublime. Когда я меняю файл app.css /.less в другом редакторе, он работает..
3. @JeroenHoek, я использую ember-cli 0.0.36.
4. @AyKarsi, я действительно использую Sublime 3. WebStorm дает те же результаты, но интересно, что когда я редактирую с помощью блокнота (я на Windows), все работает так, как ожидалось
5. На самом деле проблема в том, что приложение / стили просматриваются дважды: один раз через ./app и снова через ./app/styles . Я создал проблему в ember-cli с дополнительной информацией: github.com/stefanpenner/ember-cli/issues/1166
Ответ №1:
Обходным путем на данный момент является изменение index.js в строке 246 (согласно вашей ошибке и моим сообщениям об ошибках) в модуле sane и добавьте что-то вроде этого:
if (!this.dirRegistery[dir]){
console.log('error',' empty/unkown dir',dir);
callback();
return;
}
Не знаю, действительно ли это исправление. Каким-то образом это связано с sublime. (Кэширование, блокировка файла?)..
Комментарии:
1. Я ввел этот код, и пустой / неизвестный каталог — это app / styles . (Кстати, спасибо за этот фрагмент). Основываясь на том, что я видел до сих пор, у меня есть теория. Смотрите мои правки и вопросы выше.