Я пытаюсь развернуть приложение Aurelia на основе скелет навигации ASP.NET 5 ES2016 в Microsoft Azure с использованием веб-развертывания ([щелкните правой кнопкой мыши] → публикация) из Visual Studio 2015.
Но я не могу заставить depolyment работать.
Я изменил настройки prepublish
в файле project.json
на:
"prepublish": [ "npm install", "gulp bundle" ]
но это только приводит к сбою процесса публикации в Visual Studio. Запуск gulp bundle
с консоли отлично работает.
Итак, моя следующая попытка состояла в том, чтобы удалить все задачи prepublish
, запустить gulp bundle
вручную, а затем опубликовать. Это позволяет завершить процесс публикации, но веб-приложение на лазури никогда не загружается и в конечном итоге дает мне тайм-аут.
Думая, что это может иметь какое-то отношение к папке jspm_packages
, которую я пробовал, включая те, что находятся в файле Web.xproj
на основе этот поток github, но это приводит к следующей ошибке:
502 - Web server received an invalid response while acting as a gateway or proxy server.
Update
Я попытался установить сценарии prepublish
и запустить dnu publish
с консоли. Это работает без проблемного объявления, генерирует все необходимые выходные данные в папке \bin\output\wwwroot
. Тем не менее, этот же процесс не выполняется при запуске из действия "Опубликовать действие контекстного меню" в Visual Studio; не генерируется выход.
Просто добавьте его здесь, если он проливает свет на проблему.
Обновление 2
Хорошо, я заметил, что сообщение закрытия команды dnu publish
Using command 'web' as entry point for web.config
И потом пенни упала. Навигационное решение Aurelia Skeleton определяет следующую команду в файле project.json:
"web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:9000/",
который, конечно же, не будет работать в Azure. Итак, я удалил опции --server.urls
, удалил скрипты prepublish
снова из project.json
и вот и вот, приложение запускается...
... разделены.
Во всяком случае, многое изменилось с момента ввода этого вопроса, но мне все еще интересно:
-
Почему публикация не выполняется из Visual Studio, когда у меня определены задачи
prepublish
? -
Самое главное, как я могу опубликовать связанное приложение Aurelia с azure?
Обновление 3
Связывание работает, когда вызывается из консоли. Я думаю, что я никогда не пытался опубликовать прилагаемое приложение после удаления параметра --server.urls
из project.json
.
Итак, где мы находимся в?
Публикация на Azure с "prepublish": [ "gulp bundle" ]
все еще не выполняется. Это gulpfile.js
, который поставляется с навигационным скелетом Aurelia:
require('require-dir')('build/tasks');
И Visual Studio выдает ошибку в следующей строке watch.js
при запуске prepublish
задач:
console.log(`File ${event.path} was ${event.type}, running tasks...`);
Это совершенно непонятно, потому что задача bundle
не звонит watch
. Когда-либо. И запуск gulp bundle
с консоли работает, как ожидалось.
Итак, похоже, VS2015 загружает каждую задачу из папки build/tasks
.
Я пробовал полностью комментировать файл watch.js
, но тогда я вижу только следующую ошибку: prepublish failed with code 1
.
Любая помощь или идеи по поводу того, почему я не могу опубликовать с помощью задач prepublish
, будет очень благодарна.