Ember: Application.hbs не генерируется в теле при сборке - PullRequest
0 голосов
/ 14 октября 2018


У меня проблема с опцией сборки ember-cli.Когда сервер работает под ember s, он показывает обычную страницу с контентом, стилями и т. Д. Но теперь я хочу собрать это приложение и разместить его на своем веб-сайте по ftp, поэтому я попробовал ember build, который встраивает мой проект в папку /disk, ноФайл index.html не содержит материалов из application.hbs + без стилей из styles/app.css.
Я новичок в ember.Что я делаю неправильно?Документы Эмбер ничего не говорят об этом.

1 Ответ

0 голосов
/ 14 октября 2018

Все ваше приложение фактически извлекается из внешних ресурсов.

Итак, глядя на предварительно созданный index.html, вы увидите что-то вроде этого:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>emberclear</title>

    {{content-for "head"}}

    <link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
    <link rel="stylesheet" href="{{rootURL}}assets/emberclear.css">


    {{content-for "head-footer"}}
  </head>
  <body class='has-navbar-fixed-top'>
    {{content-for "body"}}

    <script src="{{rootURL}}assets/vendor.js"></script>
    <script src="{{rootURL}}assets/emberclear.js"></script>

    {{content-for "body-footer"}}
  </body>
</html>

мое приложение https://emberclear.io, с именем emberclear, поэтому подставьте имя вашего приложения, где это применимо.

В head мы видим два тега link.

  • Первый link предназначен для всех стилей, которые могут включать в себя ваши дополнения (например, такие как material-ui, или bootstrap, или bulma).
  • Второй link - это ваши действительные стили приложения.для меня emberclear.css включает в себя все, начиная с app.css, и все его зависимости (на самом деле я использую scss, поэтому я могу включить вещи через scss '@import).

Внизbody мы видим два тега script.

  • vendor.js будут содержать сам ember и любые зависимости аддона, которые должны быть включены во время выполнения, такие как ember-paperбиблиотека компонентов.

  • emberclear.js включает ваше приложение - маршруты, шаблоны и т. д.

Этот метод является общим для всех страницприложения, и не только для Ember.все, что построено с реагированием или vue, имеет похожий шаблон.

Если вы хотите, чтобы html и css были частью вашего index.html, fastboot (https://www.ember -fastboot.com/ ) + prember (предварительно обработанный ember: https://github.com/ef4/prember) может вас заинтересовать.

Надеюсь, это поможет!:)

Если что-то не так, не стесняйтесь скопировать ваш встроенный index.html из dist (и, возможно, также из дополнительных файлов).

Некоторые дополнительные вопросы для вас, в зависимости от проблемвы работаете с:

  • Получаете ли вы какие-либо ошибки?
  • Что происходит, когда вы пытаетесь открыть файл dist / index.html локально?
  • Youзагружаем содержимое dist в папку ftp.Это само по себе хорошо, но веб-серверу было сказано использовать эту папку ftp для веб-сайта?
    • Как вы пытаетесь получить доступ к папке ftp через браузер?
    • Может быть, есть домен / путь, на который мы могли бы посмотреть, чтобы увидеть дополнительную информацию?
...