2015-07-30 3 views
0

Я пытаюсь создать приложение ember с ember-cli. Я создал приложение с ember new HelloWorld и построил его с помощью ember build. Внутри "Dist" -Folder является index.html с этой разметкой:ember-cli ember build генерирует неполный index.html?

<!DOCTYPE html> 
 
    <html> 
 
    <head> 
 
     <meta charset="utf-8"> 
 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 
     <title>HelloWorld</title> 
 
     <meta name="description" content=""> 
 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
     <base href="/" /> 
 
     <meta name="hello-world/config/environment" content="..." /> 
 
     <link rel="stylesheet" href="assets/vendor.css"> 
 
     <link rel="stylesheet" href="assets/hello-world.css">  
 
    </head> 
 
    <body> 
 
     <script src="assets/vendor.js"></script> 
 
     <script src="assets/hello-world.js"></script>  
 
    </body> 
 
    </html>

В старых Посте-версиях мы написали наши шаблоны внутри этой index.html. Я знаю, что ember «прекомпилирует» шаблоны сейчас, но где они? Когда я открываю index.html с помощью браузера, я получаю пустую страницу. Как это работает сейчас? Нужно ли нам запускать сервер узлов для ember-приложения? Я просто хочу скопировать вывод ember build внутри проекта Asp.Net и включить файлы в свой index.cshtml.

ответ

0

В старых версиях Ember-Versions мы написали наши шаблоны внутри этого index.html. Я знаю, что ember «прекомпилирует» шаблоны сейчас, но где они?

index.html находится в app/index.html. Остальные шаблоны находятся в app/templates/.

Когда я открываю index.html с помощью браузера, я получаю пустую страницу. Как это работает ?

Вы должны получить ошибки в консоли:

file:///assets/vendor.css Failed to load resource: net::ERR_FILE_NOT_FOUND 
file:///assets/appName.css Failed to load resource: net::ERR_FILE_NOT_FOUND 
file:///assets/vendor.js Failed to load resource: net::ERR_FILE_NOT_FOUND 
file:///assets/appName.js Failed to load resource: net::ERR_FILE_NOT_FOUND 

Это потому, что у вас нет какого-либо сервера, который будет обслуживать эти активы. Открытие dist/index.html напрямую через браузер не получится. Вам необходимо настроить простой сервер Python или скопировать ресурсы для исправления каталогов в вашем приложении ASP.NET. Он должен правильно выявлять пути к ресурсам для вашего приложения Ember.

Я просто хочу, чтобы скопировать вывод Эмбер сборки внутри проекта Asp.Net и включают в себя файлы в моем index.cshtml.

Сделай это. Поместите активы в правильные папки, скопируйте содержимое index.html в ваш файл .cshtml.

Однако, я думаю, ваш подход не сработает. Если вы хотите интегрировать приложение ASP.NET с Ember, микшируя файлы и т. Д., Вы должны включить Ember-библиотеку самостоятельно в файлы ASP.NET, а затем написать код с использованием глобальных переменных (App.IndexController и т. Д.).

+0

спасибо, я попробую это. Я успешно интегрировал описанный подход в конце вашего сообщения с более старыми версиями ember. Но теперь я должен «прекомпилировать» материал, и я хочу интегрировать его с помощью VisualStudio taskrunnerjob. – Weissvonnix

+0

Это должно помочь: https://github.com/ember-cli/ember-cli/issues/3746 –

+0

, к сожалению, я не приблизился к своим целям. Я скопировал папку «compiled» assets в папку приложения. приложение \ index.html ссылается на активы внутри этого пути. Когда я открываю приложение app \ index.html с браузером, «handlebars-stuff» {{content-for 'head'}} {{content-for 'head-footer'}} {{content-for 'body'}} { {content-for 'body-footer'}} - это все, что я вижу. Зачем нужен сервер? Предполагается, что это только JavaScript-Framework. Я не хочу запускать Node или Python или что-то еще. Это расстраивает, и я начинаю сожалеть о решении для Ember ... – Weissvonnix

Смежные вопросы