2014-10-24 1 views
0

Я пытаюсь использовать grunt contrib connect для локальной разработки и тестирования углового приложения.Не удается GET/страница

gruntfile настроен следующим образом:

connect: { 
    server: { 
     options: { 
      open: true, 
      keepalive: true, 
      hostname: 'localhost', 
      port: 8080 
     } 
    } 
} 

и задачи

grunt.registerTask('serve', [ 
    'connect:server' 
]); 

grunt serve открывает браузер с файлом списка корневого каталога. При нажатии на каталог dist запускается приложение. Все в порядке, пока здесь: можно изменить страницу из меню приложения, но ... прямой доступ или перезагрузка любой из этих страниц, дает Cannot GET /dist/page ... Необходимо снова вернуться к `localhost: 8080/dist ', чтобы заставить его работать снова ...

Что я могу сделать, чтобы сделать эту работу?

+0

Установлен ли параметр $ locationProvider для использования режима HTML5? Будет выглядеть как '$ locationProvider.html5Mode (true);'. Если это так, то в приложении URL-адрес местоположения изменяется с изменением маршрута, но браузер фактически не запрашивает новый URL-адрес с сервера. При перезагрузке браузер * * запрашивает этот URL-адрес, и у сервера нет соответствующего ресурса для него. – Tautologistics

+0

Спасибо. Да 'html5Mode'is' true'. Есть ли что-нибудь, что я могу сделать, чтобы заставить его работать? (например, на удаленном сервере) –

ответ

3

Я нашел решение here, используя пехотинец connect-modrewrite

задачи хрюкать теперь:

server: { 
    options: { 
     port: 9000, 
     livereload: 35729, 
     hostname: 'localhost', 
     open: true, 
     middleware: function (connect) { 
      return [ 
         modRewrite(['^[^\\.]*$ /index.html [L]']), 
         connect.static('dist') 
        ]; 
       } 
      } 
     } 
0

Я рекомендую вам добавить базы параметра, чтобы указать «Dist» каталогов в качестве корня для подключить:

connect: { 
    server: { 
     options: { 
      open: true, 
      keepalive: true, 
      hostname: 'localhost', 
      port: 8080, 
      base: 'dist' 
     } 
    } 
} 

Если это не поможет решить вашу проблему, это будет не менее сделать маршруты менее запутанными.

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

  • Нет связанных вопросов^_^