2016-10-03 9 views
2

Окружающая среда:Как я могу остановить перезагрузку от выполнения на всех файлах в Angular2 с угловым CLI?

Угловая 2.0.0 (Built через Угловое CLI Beta 15 с Webpack)

Выпуск:

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

Ideal Разрешение:

Я действительно хочу, чтобы найти способ, чтобы просто отключить жить-перезарядку. Если это невозможно, используя AngularCLI, мне нужно знать, что стоит перестроить приложение без CLI.

Pre-Webpack (с AngularCLI Beta 10) я использовал, чтобы быть в состоянии предотвратить эту проблему, запустив угловой с этой командой:

От package.json

"angular-start": "ng serve --live-reload false", 

Это больше не работает с текущей версией Угловой CLI.

Update:

Принятый ответ велик для одной незначительной проблемы, за исключением. По какой-то причине, когда приложение запускается таким образом, я не могу загружать страницы напрямую (т. Е. Работает http://172.16.1.213:4200, и если я перехожу к маршрутам моих активов, я вижу в браузере http://172.16.1.213:4200/assets. Но если я поставлю http://172.16.1.213:4200/assets в браузере напрямую и нажмите enter Я получаю «Не могу получить активы»)

Кроме того, если я загружаю новое изображение или видео в приложение при запуске таким образом, я не вижу изображение или видео до обновления.

Я предполагаю, что это связано с природой Webpack, желающей связать все эти изображения/видео. Я просто смущен, как это может когда-либо работать в процессе производства, когда новые файлы должны быть загружены все время

ответ

1

Приложение простого узла может обслуживать контент Angular-cli/dist.

  1. Put следующие server.js в папку проекта

    const port = 4000; 
    const ip = "0.0.0.0"; 
    const dist = __dirname + '/dist'; 
    
    // Express 
    const express = require('express'); 
    
    express() 
        // Static content 
        .use(express.static(dist)) 
        // SPA routing 
        .get('/*', (req, res) => res.sendFile(__dirname, '/dist/index.html')) 
        // Start server 
        .listen(port, ip, function() { 
         console.log(ip + ':' + port); 
        }); 
    
  2. Установка expressjs

    npm i express 
    
  3. Построить приложение *

    ng build 
    
  4. Старт сервера

    node server.js 
    
    • Повторите шаг 3 каждый раз закончить загрузку.
+0

Это фантастика, еще одна вещь, как, как мне настроить, чтобы я мог достичь этого на IP-адрес машины из другого окна? Сейчас он работает только на локальном хосте. – JasonPerr

+1

Получил его: .listen (port, "0.0.0.0", function() { console.log ('Порт:' + порт); }); – JasonPerr

+0

@JasonPerr Я также внесли свой ответ в ответ: D –

0

Этот флаг не реализован в версии для webpack, см. https://github.com/angular/angular-cli/issues/1755.

+1

Я видел это, но означает ли это, что нет никакого способа сделать это с любым другим флагом? Если это так, я предполагаю, что, возможно, я пытаюсь сделать это неправильно. Должен быть способ разработки приложения, который включает в себя загрузку и изменение файлов мультимедиа, которые не заставляют перестраивать каждый раз правильно? – JasonPerr

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

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