From 392702b841e92a4ce554eb0a50b2a35b06fb213a Mon Sep 17 00:00:00 2001 From: Cesar De la Torre Date: Wed, 22 Feb 2017 15:38:42 -0800 Subject: [PATCH] Updated SPA procedure with the NPM extension for the VS Task Runner --- .vs/slnx.sqlite | Bin 69632 -> 69632 bytes 06.-Setting-the-Web-SPA-application-up.md | 11 +++++++++++ img/spa/task-runner-with-npm-extension.png | Bin 0 -> 40120 bytes 3 files changed, 11 insertions(+) create mode 100644 img/spa/task-runner-with-npm-extension.png diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 4ff1f0f65f5f5ff8c8366838d803f52d0e1d6071..a9bcc1c6d95a7a44ddad114c586eb5f1b432d961 100644 GIT binary patch delta 369 zcmZozz|ydQWr8$g@kAMC#^Q|$!TO9no44ru3a~M5V(?|Go6PPoi@6R+D+uxDs6*9GHEZ z*_OeDp?ET%i;jq1abj6&ie6G;Hb|0lYeS1l&15+zvB~yR**1$f9bjaw4mOd$zWJte z9xIgT&>!U`FN9@cjZR!kU{Y!;pRx(WaQAAbk{ delta 250 zcmZozz|ydQWr8$g=0q81#>|Zg!TOAyo44ru3a~NTGWallo6PPoi?MsMqCngv$2#%i z#In>By`;o!jw?~T8I7Fm42|{-oNSZx+WkfJkR+pXmdr4;P^p72(3W%_t_nXyF)nuj$oPQFvG%Esxz;KRCnGJ8Yi=B9=mmdS5gqS$of zSsLw`KsN9oY+&e|e6UpnXfo^O1Feo+Y^?8q8bv3wPXKD1@Q!(M-V|p}U1y&JR-p4R L^==lO`nn1LO1)N( diff --git a/06.-Setting-the-Web-SPA-application-up.md b/06.-Setting-the-Web-SPA-application-up.md index b1a31b7..7af1639 100644 --- a/06.-Setting-the-Web-SPA-application-up.md +++ b/06.-Setting-the-Web-SPA-application-up.md @@ -40,6 +40,17 @@ Then, run again the npm run build:prod command that should finish with no +#### (Optional) Run NPM tasks from within Visual Studio 2017 + +As the chosen workload method when developing a client frontend app (JS frameworks, etc.), the developer has to be able to trigger the npm tasks when he wants. +Of course, he can always open a command propmt and run npm from the CLI as you just did in the steps above (which is most front-end devs do, in fact). +However, you can also run npm tasks inside Visual Studio if you install the following VS extension: https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner + +This extension adds to the "Task Runner Explorer" the capabailities to run npm tasks (since, out of the box, only gulp/grunt tasks are supported by VS2017). After this extension is installed you can run npm tasks from inside VS2017 and also set build bindings if you wanted. + + + +This extension honors the VS External Web Tools configuration, and allows you to use bindings, so if you want to run npm tasks automatically on every VS build, you could do so. This is not set as default in the eShopOnContainers provided code as it would slow down each VS build with the npm build tasks. ### Build the Docker images and Deploy the containers At this point, if you were originally following the eShopOnContainer setup for any environment and came to this page just to setup the SPA app, now go back to your original setup instructions page. Other than that, you can in any case choose between any of the following options to build and deploy the Docker containers: diff --git a/img/spa/task-runner-with-npm-extension.png b/img/spa/task-runner-with-npm-extension.png new file mode 100644 index 0000000000000000000000000000000000000000..d04a6ea7cc81969dc1a14d78a18afa42ea5c39ec GIT binary patch literal 40120 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 OAVWPf-7;<0i2nhomh;L0 literal 0 HcmV?d00001