2015-01-30 4 views
0

Я пытаюсь запустить это приложение Polymer (https://divshot.com/blog/web-components/building-a-qa-system-with-polymer-and-firebase/) в Google App Engine. Я был в состоянии получить первую страницу для работы по настройке маршрутизацииКак обрабатывать маршрутизацию в Google Appengine

webapp2.Route(r'/polymer', handler=project_handler.PolymerHandler, name='polymer'), 

но когда Github OAuth успешно возвращает пользователя для входа обратно обратного вызова URL, экран ввода вопроса (list.html) не объявиться. (FYI. Когда я запускаю тот же самый проект за пределами GAE, он прекрасно работает. Так что я считаю, что проблема с моей установкой маршрутизации GAE.)

<core-header-panel> 
    <div class="core-header"> 
    <core-toolbar> 
     <div flex>Firebase Q&amp;A</div> 
     <paper-menu-button halign="right"> 
     <paper-icon-button icon="social:person"></paper-icon-button> 
     <paper-dropdown class="dropdown" transition=""> 
      <core-menu class="menu"> 
      <paper-item on-click="{{login}}" hidden?="{{!statusKnown || user}}">Login</paper-item> 
      <paper-item on-click="{{logout}}" hidden?="{{!statusKnown || !user}}">Logout</paper-item> 
      </core-menu> 
     </paper-dropdown> 
     </paper-menu-button> 
     <template if="{{user}}">{{user.github.username}}</template> 
    </core-toolbar> 
    </div> 
    <div class="content"> 
    <app-router> <!-- This handles routing for Polymer app --> 
     <app-route path="/" import="/app/component/questions/list.html" element="qa-list"></app-route> 
     <app-route path="/app/component/questions/:id" import="/app/component/questions/view.html" element="qa-view"></app-route> 
    </app-router> 
    </div> 
</core-header-panel> 

Видимо это приложение-маршрутизатор не работает.

Не могли бы вы указать мне в правильном направлении? Благодарю.

Структура проекта

корень проекта
\ приложение \
\ приложение \ index.html
\ приложение \ компонент
\ приложения \ компонента \ qa.html
\ приложения \ компонента \ вопросы \ list.html
\ bower_components
\ app.yaml

app.yaml

handlers: 

- url: /components 
    static_dir: bower_components 

- url: /app 
    static_dir: app 

- url:/
    static_files: app/index\.html 
    upload: app/index\.html 

ответ

1

Поскольку проект, который вы пытаетесь запустить, кажется, полностью состоит из статических файлов нет необходимости определять маршруты в webapp2 или использовать любой код питона вообще, как GAE может служить все, что с некоторыми app.yaml установками, предполагая, что вы оба bower_components и app папки в корневом каталоге вашего проекта в вашем случае было бы что-то вроде:

handlers: 
- url: /bower_components 
    static_dir: bower_components 

- url: /app 
    static_dir: app 

- url:/
    static_files: app/index\.html 
    upload: app/index\.html 
+0

Спасибо за ваш ответ. Я пробовал, как вы предлагали, но, к сожалению, я не мог заставить его работать. На основе сетевого журнала в инструменте разработчика приложение даже не пытается получить этот файл list.html. –

+1

Не могли бы вы пойти и поделиться ссылкой * .appspot.com с тем, что вы развернули? Кроме того, здесь может быть добавлено содержимое 'app.yaml'. –

+0

@MihailRussu, полное согласие с тем, что нам нужно увидеть 'app.yaml' (и' dispatch.yaml', если многомодульное приложение, но это, похоже, не так) - самый первый уровень маршрутизации, в конце концов! –

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