2016-12-06 6 views
2

Мы можем загрузить статические веб-страницы, используя vert.x, поставив index.html в папке активов и дает свой путь в маршрутизаторестатическая нагрузка angular2 веб-проект с использованием vert.x

router.route("/assets/*").handler(StaticHandler.create("assets")); 

Если я ставлю Angular2 построить project внутри папки с данными и попытайтесь загрузить index.html, браузер не сможет понять Angular2, поскольку никакие зависимости не загружаются в браузере.

Как я знаю, мы можем использовать lite-server или node для запуска проекта Angular2.

Есть ли способ использовать vert.x для загрузки проекта Angular2 или есть ли другое решение без веб-сервера?

ответ

2

Как указано в Vert.x документов,

Любых запросы к дорожкам обрабатываемых статическому обработчика приведут файлов обслуживаются из каталога в файловой системе или из классам. Статический каталог файлов по умолчанию - webroot, но это может быть настроено на .

Как вы настроили папку веб-корень по умолчанию быть активы любой запрос на пути /активы/ приведет к файлу под активы/активы/ быть служил также заявлено официальной документацией:

Например, если был запрос с указанием пути /static/css/mystyles.css статическая подача будет искать файл в каталоге webroot/static/css/mystyle.css.

E.g. запрос с путем /assets/js/angular2.js команды сервера искать файл под активы/активы/JS/angular2.js Таким образом, вы должны:

  • Либо двигайте статический активы под активы/активы/ папка.
  • Или сохраните корневую папку по умолчанию и поместите свои статические файлы под webroot/assets.
0

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

Стек - Vertx, служащий угловым 2 файлам.

// Create a router endpoint for the static content. 

    basically route any files - js, css, jpg etc 
    router.route("/*") 
    .handler(StaticHandler.create("webroot").setCachingEnabled(false)); 

    // so anything else re route to home page 
    router.route("/*").handler(rc -> { 
     logger.info("For refresh handling"); 

     rc.response().sendFile("webroot/index.html"); 

    });