2014-11-18 3 views
0

Я перемещаю свой проект из Ember AppKit в Ember-Cli. У меня есть MYAPP/приложение/app.js, где инициализируются приложение и в MyApp/приложение/index.html у меня есть следующие строки:Ember-cli создает/инициализирует app.js дважды

 var config = require('myapp/config/environment')['default']; 
     window.App = require('myapp/app')["default"].create(config.APP); 

* конфигурации не так важно, в моем вопросе.

Поэтому, когда я запускаю сервер ember, я вижу, что app.js вызывается дважды. Впервые, автоматически, я думаю, и второй вызов выполняется функцией create() сверху. Таким образом, после запуска сервера я получаю сообщение об ошибке:

«Uncaught Ошибка: Assertion Ошибка: Вы не можете использовать один и тот же корневой элемент (корпус) несколько раз в Ember.Application»

Я знаю, что ошибка означает, что я создаю два экземпляра моего приложения в одном и том же объекте DOM, и его можно решить, создав два подконтейнера() с разными идентификаторами.

Но как мне избежать создания первого экземпляра, который выполняется автоматически, прежде чем я на самом деле вызову create()? Без строк, показанных выше, приложение не отображается вообще, но с ними я получаю указанную ошибку. Я проверил всю реализацию приложения, нет ничего, что могло бы вызвать начальное создание экземпляра, прежде чем функция create() будет выше.

у меня не было этой ошибки в EmberAppKit работает Grunt

ответ

1

В Ember CLI конфигурационными жизни в /config/environment.js, и он будет передан в ваше приложение автоматически. Вам не нужно это вручную.

+0

Thanx для быстрого ответа. Но не добавлять config в create() не решает проблему. – vtm

+0

Вы пытались сделать чистую программу ember-cli и посмотреть, как она управляет конфигурацией? Попробуйте это и сравните с тем, что у вас есть. –

+0

Thankx! Я проверил, я думаю, что в Эмбер-Кли нам не нужно устанавливать окно. Приложение в индексе. – vtm

0

Настройка окна.App = это в app.js решило проблему.

Если вы заглянете в my-app.js в активах, вы увидите, что экземпляр создается в конце скрипта. Поэтому он должен быть назначен только окну. Апп