2016-09-03 1 views
3

Я пытаюсь сделать приложение Angular 2 работающим на стандартной среде App Engine. Он работает со следующими app.yaml конфигурации при навигации в пределах приложения:Как сделать работу с угловым 2 с помощью App Engine на странице обновления?

handlers: 
- url: /api/.* 
    script: _go_app 

- url: (.*)/ 
    static_files: static\1/index.html 
    upload: static 

- url: (.*) 
    static_files: static\1 
    upload: static 

я могу нажать на ссылку с / к /clients или /clients/234234 и она отлично работает.

Однако, если я обновить браузер в базовом пути, например. http://myapp.appspot.com/clients/234234, тогда я получаю ошибку 404. Наверное, мне нужно обслуживать index.html со всех путей, которые я думал (.*)/ и (.*).

Как настроить мои обработчики/приложение, чтобы я мог использовать маршрутизацию HTML5 и не допускать этого?

ответ

2

У меня есть куча статических файлов, которые нужно обслуживать, поэтому я сначала добавил их сопоставления. Я также (самое главное) изменил способ подачи index.html:

handlers: 
- url: /api/.* 
    script: _go_app 

- url: /(.*\.svg) 
    static_files: static/\1 
    upload: static/(.*\.svg) 

- url: /(.*\.js) 
    static_files: static/\1 
    upload: static/(.*\.js) 

- url: /(.*\.map) 
    mime_type: application/octet-stream 
    static_files: static/\1 
    upload: static/(.*\.map) 

- url: (.*)/ 
    static_files: static/index.html 
    upload: static 

- url: (.*) 
    static_files: static/index.html 
    upload: static 
Смежные вопросы