2017-02-06 20 views
11

Próbuję skonfigurować moje środowisko, więc gdy kliknę uruchomię w Visual Studio 2015, zainstaluję moduły węzłów, a następnie uruchomię koniec webpack-dev-server.Uruchamianie pakietu Webpack-dev-server podczas pracy w studiach graficznych - projekt .net core

dodałem

"precompile": [ "yarn install", "yarn run start" ]

do mojego scripts w moim project.json

Jeśli chcesz zobaczyć skrypt startowy, że biegnę: https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/scripts/start.js

It działa, trochę. Uruchomi serwer, ale nie otworzy go w przeglądarce, a to łamie VS do punktu, w którym nie mogę przestać debugować i nie mogę zamknąć VS, ponieważ debuguje.

enter image description here

Więc jest mimo to mogę zrobić to praca sposób chcę go, czy mam po prostu uciekać się do korzystania cmd, aby uruchomić WebPACK-dev-serwer?


Właśnie próbowałem:

"precompile": [ "yarn install", "start cmd /k yarn run start" ]

nadzieję mogę dostać VS otworzyć wiersz polecenia i uruchom skrypt startowy, ale to nie działa.


Znalazłem odpowiedź. Przechodzę, aby to otworzyć, aby sprawdzić, czy ktoś ma lepsze rozwiązanie.

W moich Startup.cs I dodaje:

Process.Start("CMD.exe", "/K yarn run start"); 
Process.Start("cmd", "/C start http://localhost:3000"); 

Pierwsza linia biegnąca moje polecenie cmd, a drugi otwiera domyślną przeglądarkę w porcie moim WebPACK-dev-serwer.


Drugie rozwiązanie, które może działać w zależności od przypadku użycia.

Pobierz node tools for VS i utwórz nowy pusty projekt węzła w swoim rozwiązaniu. Możesz przejść do właściwości projektu i istnieje dane wejściowe o nazwie Script (startup file). Można wskazać, że do rozruchu scenariusz, w moim przypadku było scripts/start.js

Odpowiedz

4

Oto rozwiązania, które wymyśliłem:

W moim Startup.cs I dodaje:

Process.Start("CMD.exe", "/K yarn run start"); 
Process.Start("cmd", "/C start http://localhost:3000"); 

Pierwsza linia uruchamiająca moją komendę w cmd, a druga otwierająca moją domyślną przeglądarkę na porcie mojego serwera Webpack-dev-server.


Drugie rozwiązanie, które może działać w zależności od przypadku zastosowania.

pobrać node tools for VS i utworzyć nowy pusty węzeł projekt w swoim rozwiązaniu. Możesz przejść do właściwości projektu i jest wejście o nazwie Script (startup file). Można wskazać, że do rozruchu swój scenariusz, w moim przypadku było scripts/start.js

1

Install Command Task runner, który pozwoli na uruchamianie komend na pewne wydarzenia.

W nowym commands.json pliku zdefiniować skrypt tak:

{ 
    "commands": { 
    "InstallPackages": { 
     "fileName": "cmd.exe", 
     "workingDirectory": ".", 
     "arguments": "/K yarn run start" 
    }, 
    "OpenSite": { 
     "fileName": "cmd.exe", 
     "workingDirectory": ".", 
     "arguments": "/C start http://localhost:3000" 
    } 
    }, 
    "-vs-binding": { "AfterBuild": [ "InstallPackages", "OpenSite" ] } 
} 

Można również usunąć "-vs-binding" lineand ręcznie zrobić powiązania poprzez Zadanie Runner Explorer UI.

To bije, zmieniając kod, aby za każdym razem jawnie uruchamiać serwer WWW.

Powinienem dodać, że znalazłem, że Visual Studio nie zakończy pracy, podczas gdy okno wiersza polecenia dla serwera WWW jest nadal otwarte. Przypuszczam, że to jest w porządku, ale to mnie kilka razy zaskoczyło (uruchamiam serwer internetowy w ten sposób i pozostawiam go włączony). Prostym rozwiązaniem jest po prostu zamknięcie okna serwera sieciowego, a system VS zostanie zamknięty tak, jak zwykle, bez dalszych monitów.

3

Innym podejściem jest uruchomienie serwera programistycznego pakietu WWW poprzez powiązanie jego uruchomienia z wiązaniem Project Open w Eksploratorze zadań w porównaniu z powiązaniem After Build. W ten sposób serwer programistyczny, który już działa, zanim zbudujesz rozwiązanie za pomocą Visual Studio.

Takie podejście ma tę zaletę, że nie odkłada sekwencji kompilacji VS, ponieważ proces serwera internetowego wciąż działa.

używam rozszerzenia VS NPM Zadanie Runner zrobić wiązania i mają polecenie skryptu NPM, jak:

"watch": "webpack-dev-server --hot --inline" 

Następnie wiążę scenariusz do projektu open wiążącą

Można również włączyć twoje polecenie yarn install jako część skryptu NPM, który jest uruchamiany w Project Open.

+0

Odkryłem, że rozszerzenie zadania VS NPM Task Runner ma właściwość przędzy, więc uruchomi instalację 'yarn install' w miejsce instalacji NPM, jeśli Yarn jest zainstalowana na komputerze, więc nie musisz wyraźnie włączać" przędzy " install' jako skrypt NPM. Istnieje rozszerzenie Task Runner, ale w tej chwili nie zostało ono zaktualizowane dla VS 2017, ale odkryłem, że Runner zadań NPM to robi. –

Powiązane problemy