2016-07-17 4 views
4

В моих попытках понять Полимер, я решил попытаться построить некоторые из своих стартовых проектов.Как правильно установить приложение CLI Polymer на веб-сервере Apache?

Мои первые попытки касались Полимерной CLI. Я выбираю приложение, основанное на шаблоне приложения-ящика. У меня не возникло проблем с использованием polymer build, и у меня не было проблемы с демонстрацией, используя polymer serve.

Однако при запуске веб-сервера Python в одном из двух встроенных каталогов возникли некоторые проблемы. При запуске веб-сервера Python приложение запускается без проблем, то есть до тех пор, пока я не удалю обновление в моем браузере. Затем он возвращает сообщение об ошибке о невозможности найти '/ view2'; только при обновлении в корне сайта нет проблем.

Я попытался развернуть это приложение на веб-сервере Apache. Подобные проблемы возникли, когда проблемы с обновлением в любом месте, кроме первой страницы веб-приложения.

Затем я попробовал свои силы в Polymer Starter Kit (что как-то кажется недоступным для остальной части сайта проекта Polymer). У меня не возникало проблем с созданием или просмотром каких-либо проблем с помощью соответствующих команд gulp. Затем я попытался запустить веб-сервер Python по результатам сборки и обновления на различных веб-страницах. На этот раз не было никаких проблем в освещении.

На этом этапе было бы легко сказать, что с CLI Polymer что-то не так, но я хочу быть абсолютно уверенным, что я не совершал ошибок при развертывании приложения CLI.

В Интернете очень мало ресурсов, которые ясно и кратко объясняют, как развернуть приложение Polymer на веб-сервере уровня производства.

Если я допустил ошибку, сообщите надлежащий процесс. Если я не ошибся, сообщите мне об этом.

+0

У меня такая же проблема с сервером tomEE ... –

ответ

2
Apache add file .htaccess 

    <ifModule mod_rewrite.c> 
     Options +FollowSymLinks 
     IndexIgnore */* 
     RewriteEngine On 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule (.*) index.html 
    </ifModule> 
1

Вам нужно определить использование-хаш-как-путь опцию «приложение-локации» компонент, а затем ваши ссылки должны содержать знак хэш (#), как описано here с примером here.

<app-location route="{{route}}" use-hash-as-path></app-location> 
 
<a name=component href="#/component">Component</a>

0

Для Polymer 2.0 -

polymer build --bundle ли и служить от корня вашего сервера, все ссылки на ресурсы являются абсолютными.

This polymer page говорит обо всех различных способах создания полимера и может также быть полезным.

Edit-

Откройте файл index.html также и посмотреть на линии 21 через 25. Я считаю, что это, где вы могли бы указать корень приложения при обслуживании от статического хоста. Таким образом, вы создадите комплектную версию, а затем скопируете содержимое build/default/ туда, где вы используете.

+0

Вариант сборки должен быть '--bundle' так:' polymer build --bundle' – Thomas

+0

Обновлено спасибо, за это указали. –

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