From a97a6a8d01b6f961697572d1effe16eb179bc802 Mon Sep 17 00:00:00 2001 From: Scott Addie Date: Wed, 2 Aug 2017 09:31:56 -0500 Subject: [PATCH] Remove Razor Language Services extension note (#3869) --- aspnetcore/client-side/spa-services.md | 11 ++++------- .../_static/tag_helper_intellisense.png | Bin 21049 -> 0 bytes 2 files changed, 4 insertions(+), 7 deletions(-) delete mode 100644 aspnetcore/client-side/spa-services/_static/tag_helper_intellisense.png diff --git a/aspnetcore/client-side/spa-services.md b/aspnetcore/client-side/spa-services.md index e0ac61bac1..24a8202c2e 100644 --- a/aspnetcore/client-side/spa-services.md +++ b/aspnetcore/client-side/spa-services.md @@ -1,11 +1,11 @@ --- title: Using JavaScriptServices for Creating Single Page Applications author: scottaddie -description: Learn about the benefits of using JavaScriptServices to build a SPA with ASP.NET Core -keywords: ASP.NET Core, Angular, SPA, JavaScriptServices, SpaServices +description: Learn about the benefits of using JavaScriptServices to create a Single Page Application (SPA) backed by ASP.NET Core. +keywords: ASP.NET Core,Angular,SPA,JavaScriptServices,SpaServices ms.author: scaddie manager: wpickett -ms.date: 6/23/2017 +ms.date: 08/02/2017 ms.topic: article ms.assetid: 4b30576b-2718-4c39-9253-a59966747893 ms.technology: aspnet @@ -95,13 +95,10 @@ The Tag Helpers are made discoverable via namespace registration in the project' [!code-csharp[Main](../client-side/spa-services/sample/SpaServicesSampleApp/Views/_ViewImports.cshtml?highlight=3)] -These Tag Helpers abstract the intricacies of communicating directly with low-level APIs by leveraging an HTML-like syntax inside the Razor view: +These Tag Helpers abstract away the intricacies of communicating directly with low-level APIs by leveraging an HTML-like syntax inside the Razor view: [!code-html[Main](../client-side/spa-services/sample/SpaServicesSampleApp/Views/Home/Index.cshtml?range=5)] -Microsoft's [Razor Language Services](https://marketplace.visualstudio.com/items?itemName=ms-madsk.RazorLanguageServices) extension improves Visual Studio 2017's Tag Helpers development experience by adding context-aware IntelliSense and syntax highlighting: -![Tag Helpers intellisense](../client-side/spa-services/_static/tag_helper_intellisense.png) - ### The `asp-prerender-module` Tag Helper The `asp-prerender-module` Tag Helper, used in the preceding code example, executes *ClientApp/dist/main-server.js* on the server via Node.js. For clarity's sake, *main-server.js* file is an artifact of the TypeScript-to-JavaScript transpilation task in the [Webpack](http://webpack.github.io/) build process. Webpack defines an entry point alias of `main-server`; and, traversal of the dependency graph for this alias begins at the *ClientApp/boot-server.ts* file: diff --git a/aspnetcore/client-side/spa-services/_static/tag_helper_intellisense.png b/aspnetcore/client-side/spa-services/_static/tag_helper_intellisense.png deleted file mode 100644 index 9f3d842dce687b47e4e1c15cf2c25548e29e9b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21049 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