Как заставить webpack и iis express работать вместе?

Я Угловое 2 и Webpack 2 стартера которые запускаются на узле webpack-dev-server, и я, что запустить его из visual studio с web-api.

проблема в том, когда angular2-webpack-starter запускает webpack-dev-server на порту 3000. и IIS Express работает на другом порту 5000.

Это очень важно для меня, потому что я хочу использовать HMR, и перезагружать каждый раз при изменении файлов.

Итак, как можно объединить их вместе? работать на том же порт? или любое другое решение?

2 ответов


Я нашел ее ! - Объединение с существующим сервером Резюме и пример:

вы можете запустить серверный сервер или макет его в разработке. Вы не должны использовать webpack-dev-server в качестве бэкэнда. Его единственная цель-обслуживать статические (webpacked) активы.

вы можете запускать два сервера бок о бок: webpack-dev-server и ваш серверный сервер.

в этом случае вам нужно научить webpack-генерируемые активы делать запросы к webpack-dev-server даже при запуске на HTML-странице, отправленной бэкенд-сервером. С другой стороны, вам нужно научить ваш сервер создавать HTML-страницы, которые включают теги скриптов, указывающие на активы на сервере webpack-dev. В дополнение к этому Вам нужно соединение между webpack-dev-server и средой выполнения webpack-dev-server для запуска перезагрузки при перекомпиляции.

чтобы научить webpack делать запросы (для загрузки куска или HMR) на webpack-dev-сервер, вам нужно укажите полный URL-адрес в выходных данных.опция publicPath.

чтобы установить соединение между webpack-dev-server и его runtime best, используйте встроенный режим с --inline. CLI webpack-dev-server автоматически включает точку входа, которая устанавливает соединение WebSocket. (Вы также можете использовать режим iframe, если вы укажете --content-base webpack-dev-server на свой серверный сервер. Если вам нужно подключение WebSocket на вашем сервере, вам придется использовать iframe режим.

при использовании встроенного режима просто откройте URL-адрес внутреннего сервера в веб-браузерах. (Если вы используете режим iframe, откройте URL-адрес/ webpack-dev-server / prefixed сервера webpack-dev.)

https://webpack.github.io/docs/webpack-dev-server.html#combining-with-an-existing-server


принятый ответ для версии 1. Если вы используете версию 2, Вы можете использовать шаблон vue, чтобы начать работу.

на основе существующих Vue-шаблонов я сделал шаблон vue, который вы можете установить с помощью vue-cli. Этот шаблон запускает вас для приложения vue, которое вы можете расширить или интегрировать в существующую среду.

npm install -g vue-cli
vue init delcon/webpack-simple
cd my-project
npm install

devwatch:

этот шаблон имеет дополнительную опцию запуска devwatch, которая следит за filechanges вместо использования webpack-dev-server. Это делает его пригодным для использования в любой существующей среде веб-сервера. Он использует livereload для обновления браузера на изменения.

npm run devwatch

dev:

чтобы запустить его с сервером webpack-dev-server по умолчанию, удалите <script src="http://localhost:35729/livereload.js"></script> на index.html:

npm run dev

сборка:

построить свой проект для производства:

npm run build