-
Notifications
You must be signed in to change notification settings - Fork 125
Conversation
Host and deploy topic
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think a section about hosting Blazor on Azure App Service would be very relevant. If you want, I could try to contribute it.
@rstropek Cool ... I'll make those changes right now. |
Did you see my comment about the missing Azure App Service section? Do you also think it would be important? |
Yes, sounds great. Let me put this commit in for your feedback, then you can branch from this branch and submit a PR back to this branch ... if that makes sense 😵 ... I'm sure u know what I mean. 😄 |
@rstropek Ok ... all set. I'm headed off to bed. 💤 🛌 💤 I'll just do a grammar+style pass after I merge your PR. I'll take it off of WIP after that and call for review. Feel free to take a look at the components one, too, if you want. No rush, of course. We still have plenty of time. |
I am sorry but I did not make it to write the chapter about deployment to Azure App Service. I think we have to postpone that until after the launch of the initial set of docs. |
@rstropek I think I should change the "Blazor Middleware" remarks. [EDIT] I went ahead and made this change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, good stuff!
docs/host-and-deploy/index.md
Outdated
|
||
## Publishing | ||
|
||
Blazor apps are published for deployment in Release configuration with the [dotnet publish](https://docs.microsoft.com/dotnet/core/tools/dotnet-publish) command: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just as a general point, is the passive tone considered house style? I would normally write something like "You can publish a Blazor app for deployment using the following command..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we avoid 2nd person whenever possible, which often leads to passive voice. It's more of a repo rule than a MS style manual guideline.
docs/host-and-deploy/index.md
Outdated
dotnet publish -c Release | ||
``` | ||
|
||
The .NET linker strips unused [Intermediate Language (IL)](https://docs.microsoft.com/dotnet/standard/managed-code) when the app is built in Release configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of saying it strips unused IL, could we say it strips unused methods? (which BTW is the actual level of granularity it works on)
Example:
As part of the build process, the .NET linker removes any unused methods and assemblies. This makes the resulting application payload much smaller than it would have been if the entire .NET Base Class Library (BCL) was packaged with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link is actually run on every build, not just on publish. I would also prefer not to use the made up name ".NET linker". Instead how about: "When the app is published it will first be built (if it hasn't been already). As part of the build any used methods and assemblies will be removed to reduce app download size and speed up load times."
docs/host-and-deploy/index.md
Outdated
|
||
The .NET linker strips unused [Intermediate Language (IL)](https://docs.microsoft.com/dotnet/standard/managed-code) when the app is built in Release configuration. | ||
|
||
The deployment is created in the */bin/Release/netstandard2.0/publish* folder. The assets in the *publish* folder are moved to the web server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The assets in the publish folder are moved to the web server.
That's misleading as it implies it happens automatically. Just running dotnet publish
doesn't do this. I'm guessing you intend to say something like "The contents of the publish
directory are what you need to deploy to your production web server".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's misleading as it implies it happens automatically.
Yep ... let's make a new section for this remark called Deployment. We can expand the language from there on the next commit if needed.
docs/host-and-deploy/index.md
Outdated
|
||
[!INCLUDE[](~/includes/blazor-preview-notice.md)] | ||
|
||
## Publishing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The structure of this doc might be a bit confusing. I think we should make clear the two different hosting models (standalone and hosted-on-ASP.NET) and explain what you need to do to deploy in each case. Example:
This "Publishing" subheading relates to standalone but not to the hosted-on-ASP.NET model. We don't want to confuse people doing hosted-on-ASP.NET by implying they should be running dotnet publish
on the client app.
The "Rewrite URLs for correct routing" content applies to standalone publishing only.
People using the "Blazor hosted" template (i.e., the hosted-on-ASP.NET publishing model) don't need to do anything other than the normal ASP.NET server-side publishing process, so I hope we can just link to those docs. We just need to emphasise that it's the server project you need to publish, not the client one (which automatically gets included with the server).
docs/host-and-deploy/index.md
Outdated
|
||
The deployment is created in the */bin/Release/netstandard2.0/publish* folder. The assets in the *publish* folder are moved to the web server. | ||
|
||
## Rewrite URLs for correct routing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is good content but we should be clear it's only applicable to publishing standalone (not ASP.NET-hosted) Blazor apps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think most of the content in this section belongs in the routing doc, not here. It's really only the last two paragraphs that address the host concern of dealing with requests to specific pages.
docs/host-and-deploy/index.md
Outdated
|
||
The `UseBlazor` extension method performs the following tasks: | ||
|
||
* Reads the Blazor configuration file (*.blazor.config*) from the `ClientAssemblyPath`, which is either an option provided to the `UseBlazor` extension method or defaulted to the app's assembly file location. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not mention the .blazor.config
files - it's an implementation detail that might change
docs/host-and-deploy/index.md
Outdated
|
||
* Reads the Blazor configuration file (*.blazor.config*) from the `ClientAssemblyPath`, which is either an option provided to the `UseBlazor` extension method or defaulted to the app's assembly file location. | ||
* Configures [Static File Middleware](https://docs.microsoft.com/aspnet/core/fundamentals/static-files) to serve Blazor's static assets from the *dist* folder. In the Development environment, the files in *wwwroot* are served. | ||
* Configure live reloading when in the Development environment and Debug configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No live reloading in 0.2.0 any more
docs/host-and-deploy/index.md
Outdated
|
||
## Docker/Linux hosting | ||
|
||
The first line of the Blazor config file (*.blazor.config*) configures the source MSBuild path to `.`. A consequence of this setting is that the webroot path is set to `.\wwwroot`, which results in published files being split between *wwwroot* and *dist* folders. For an unsupported workaround, see [On linux UseBlazor extension method fails with "The path must be absolute"](https://github.com/aspnet/Blazor/issues/376). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This bug is fixed, but in any case developers shouldn't have to know about the .blazor.config
files. There's nothing you can do with them manually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this section should be removed.
docs/host-and-deploy/index.md
Outdated
|
||
## Static deployment strategies | ||
|
||
The following static deployment strategies make the Blazor deployment's static assets available directly for download. Conceptually, other static hosting system configurations are similar. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This phrasing feels overcomplicated. Suggestion: If you're deploying a standalone Blazor application, you can use any web server that serves static files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, can't use "you" (unless it can't be avoided). How about ...
When deploying a standalone Blazor app, any web server or hosting service that serves static files can host a Blazor app.
Although, we'll eat those words with Azure CDN AFAICT. I might need to take a little more time with it. I noted that @danroth27
said in an issue comment that the _
(underscore) prefix on the _frameworks folder can be removed.
docs/host-and-deploy/index.md
Outdated
|
||
The following static deployment strategies make the Blazor deployment's static assets available directly for download. Conceptually, other static hosting system configurations are similar. | ||
|
||
### IIS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder how useful it is really to describe how to configure IIS to serve static content. Might there be some external IIS documentation we could link to instead? It's not Blazor-specific. What do you think @danroth27?
If we were going to put in detailed instructions, I'd suggest focusing on Azure app service deployment would be a much higher priority.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rstropek says he has direct experience with Blazor client-server apps on Azure App Service, and he can link our aspnet/Docs content to help explain and handle troubleshooting. We have an issue open to cover it: #18
RE: IIS static file server
I looked ... the coverage isn't as clear and focused as I would've liked. My (biased) impression is that following these instructions makes IIS config simple and fast. I'll check their IIS topic again and report back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ugh .....
- https://docs.microsoft.com/iis/manage/creating-websites/scenario-build-a-static-website-on-iis
- https://docs.microsoft.com/iis/web-hosting/getting-started/deploying-a-static-content-server
Yeah ... that's what I saw a few days ago. I'd prefer NOT to link those for several reasons, including missing info and references to WS1012.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to not document how to install and setup a site with IIS. That should be documented in the IIS docs. I do however agree that piecing together the full set of steps listed here from the IIS docs is not easy. @shirhatti You should consider working with @guardrex to make the IIS docs better so he doesn't have to keep documenting all these steps 😃
I do think we need to document that we generate a web.config file with the right mime type mappings and URL rewrite rules, and that you nee to install the URL rewrite module.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also think documenting Azure App Service is required. At a minimum we should document that from VS you can right-click -> Publish.
docs/host-and-deploy/index.md
Outdated
|
||
## Publishing | ||
|
||
Blazor apps are published for deployment in Release configuration with the [dotnet publish](https://docs.microsoft.com/dotnet/core/tools/dotnet-publish) command: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to clarify a bit what "publish" means in this context. Publishing in the .NET Core world means something pretty specific that I believe is different from what most people think of as publishing. Publishing for us means preparing the app to be deployed. You can't just deploy the built output.
So maybe say something like: "To prepare a Blazor app for deployment it first needs to be published. Publishing the app packs the application and its dependencies into a folder for deployment to a hosting system. Blazor apps are published for deployment using the [dotnet publish]((https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish) command. . ."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have an idea that given how much I just ripped the guts out of this that I should try to work that back in on the following commit (after the next one). I'm performing a big overhaul of the layout here. Let's see where "publish" fits after the next commit, and then I can roll that language into it.
I think that in an IDE one can build/publish and probably (?) get to the assets (dist folder) without running the dotnet publish
command directly. Therefore, let's see where the draft goes on the next commit and where it fits.
docs/host-and-deploy/index.md
Outdated
dotnet publish -c Release | ||
``` | ||
|
||
The .NET linker strips unused [Intermediate Language (IL)](https://docs.microsoft.com/dotnet/standard/managed-code) when the app is built in Release configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link is actually run on every build, not just on publish. I would also prefer not to use the made up name ".NET linker". Instead how about: "When the app is published it will first be built (if it hasn't been already). As part of the build any used methods and assemblies will be removed to reduce app download size and speed up load times."
docs/host-and-deploy/index.md
Outdated
|
||
If a request is made using the browser's address bar for `www.contoso.com/About`, the request fails. No such resource exists on the app's Internet host, so a *404 Not found* response is returned. | ||
|
||
Because browsers make requests to Internet-based hosts for client-side pages, hosts of hosted Blazor apps must rewrite all requests to the *index.html* page. When *index.html* is returned, the app's client-side router takes over and responds with the correct resource. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hosts of hosted Blazor apps
A bit awkward
docs/host-and-deploy/index.md
Outdated
|
||
The deployment is created in the */bin/Release/netstandard2.0/publish* folder. The assets in the *publish* folder are moved to the web server. | ||
|
||
## Rewrite URLs for correct routing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think most of the content in this section belongs in the routing doc, not here. It's really only the last two paragraphs that address the host concern of dealing with requests to specific pages.
docs/host-and-deploy/index.md
Outdated
|
||
## Host with ASP.NET Core | ||
|
||
ASP.NET Core apps that host Blazor apps configure the server-side app's middleware pipeline with the `UseBlazor` extension method on [IApplicationBuilder](https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.iapplicationbuilder) in `Startup.Configure`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest starting this section with: "Blazor integrates with ASP.NET Core to handle single-page application routing and to host the Blazor app as static files. ASP.NET Core apps host Blazor apps by first referencing them as dependencies and then configuring each app in the server-side app's middleware pipeline with the UseBlazor
extension method on IApplicationBuilder in Startup.Configure
:"
docs/host-and-deploy/index.md
Outdated
|
||
For general information on ASP.NET Core app hosting and deployment, see: | ||
|
||
* [Host and deploy ASP.NET Core](https://docs.microsoft.com/aspnet/core/host-and-deploy) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this first link is sufficient.
docs/host-and-deploy/index.md
Outdated
|
||
## Docker/Linux hosting | ||
|
||
The first line of the Blazor config file (*.blazor.config*) configures the source MSBuild path to `.`. A consequence of this setting is that the webroot path is set to `.\wwwroot`, which results in published files being split between *wwwroot* and *dist* folders. For an unsupported workaround, see [On linux UseBlazor extension method fails with "The path must be absolute"](https://github.com/aspnet/Blazor/issues/376). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this section should be removed.
docs/host-and-deploy/index.md
Outdated
|
||
### GitHub Pages | ||
|
||
Blazor apps can be hosted on [GitHub Pages](https://pages.github.com/). For an unsupported example approach, see [Rafael Pedicini's](http://www.rafaelpedicini.com/) [Single Page Apps for GitHub Pages](http://spa-github-pages.rafrex.com/) ([rafrex/spa-github-pages on GitHub](https://github.com/rafrex/spa-github-pages#readme)). Another example using the same approach can be seen at [blazor-demo/blazor-demo.github.io |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't documented "unsupported" things. But it's OK to describe work that needs to be done and then to give example solutions. For example: "To handle URL rewrites you can add a 404.html
file with a script that handles redirecting the request to the index.html
page. For an example implementation provided by the community see rafrex/spa-github-pages on GitHub."
There also an issue if you use a project site, instead of an org site. Project sites have a path, so I think you need to update the base tag in index.html
from /
to /repo-name
.
docs/host-and-deploy/index.md
Outdated
|
||
The following static deployment strategies make the Blazor deployment's static assets available directly for download. Conceptually, other static hosting system configurations are similar. | ||
|
||
### IIS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to not document how to install and setup a site with IIS. That should be documented in the IIS docs. I do however agree that piecing together the full set of steps listed here from the IIS docs is not easy. @shirhatti You should consider working with @guardrex to make the IIS docs better so he doesn't have to keep documenting all these steps 😃
I do think we need to document that we generate a web.config file with the right mime type mappings and URL rewrite rules, and that you nee to install the URL rewrite module.
docs/host-and-deploy/index.md
Outdated
|
||
The following static deployment strategies make the Blazor deployment's static assets available directly for download. Conceptually, other static hosting system configurations are similar. | ||
|
||
### IIS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also think documenting Azure App Service is required. At a minimum we should document that from VS you can right-click -> Publish.
We don't have the routing doc tho. Shall we leave this here until we can get the routing topic set up and then move the content over? @rstropek and I both slaved over this section ... I'd hate to see this sit on the sidelines.
Ok, if that's what you want. CSAT is going to suffer. I'll give them the first link and doc the bits we need on the next pass. For the next round, I have these action items:
Let me know given this last commit how the overall structure looks now and any additional comments or notes you have for where/how on those five items ☝️. |
OK, that sounds reasonable. |
@SteveSandersonMS @danroth27 Updated based on your comments:
It's ready for another look 👀. |
Update
54dcab1
to
a1865bb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of these updates look good. A few more comments.
docs/host-and-deploy/index.md
Outdated
|
||
### Nginx in Docker | ||
|
||
Add one line to the Dockerfile, as shown in the following example: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This says to modify a Dockerfile that I didn't even know I had yet. Can we add a sentence before this that provides some context? Maybe say something like: "To host Blazor in Docker using Nginx, setup your Dockerfile to use the Alpine based Nginx image. Then update the Dockerfile to copy your nginx.config
file into the container.
docs/host-and-deploy/index.md
Outdated
|
||
[!INCLUDE[](~/includes/blazor-preview-notice.md)] | ||
|
||
## Reduction in payload size on build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feels off topic. Instead I think it makes more sense to start off with a "Publishing your app" section that describes the need to prepare your app for deployment by running dotnet publish
like we had discussed earlier. While it's true that your IDE may handle doing the dotnet publish
for you, I still think it's an important concept to understand so that you can figure out how to deploy to any host.
After that I think there should be a short section that summarizes the difference between hosted vs standalone deployments and states right up front that you don't need .NET on the server deploy a Blazor app. And after that would be the nice sections you have already with all the specific details on how to do hosted and standalone deployments.
docs/host-and-deploy/index.md
Outdated
|
||
To handle URL rewrites, add a *404.html* file with a script that handles redirecting the request to the *index.html* page. For an example implementation provided by the community, see [Single Page Apps for GitHub Pages](http://spa-github-pages.rafrex.com/) ([rafrex/spa-github-pages on GitHub](https://github.com/rafrex/spa-github-pages#readme)). An example using the community approach can be seen at [blazor-demo/blazor-demo.github.io on GitHub](https://github.com/blazor-demo/blazor-demo.github.io) ([live site](https://blazor-demo.github.io/)). | ||
|
||
There's also a potential issue when using a project site instead of an organization site. Project sites have a path, so the base tag in *index.html* should be updated from `/` to `/<repo-name>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe it's a real issue not a "potential" issue. Suggested wording: "Also, when using a project site instead of an organization site, update the base tag in index.html from /
to /<repo-name>
."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, this issue isn't specific to GitHub pages. It also applies when hosted in an IIS vdir. So maybe we should have a short separate section that speaks general updating the base path similar to how we discuss the need for URL rewrite?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see what you mean in your earlier remark.
docs/host-and-deploy/index.md
Outdated
|
||
In a hosted deployment, an ASP.NET Core app handles single-page application routing and hosts the Blazor app's static files. The published app is deployed to the web server or hosting service. | ||
|
||
In the ASP.NET Core app, each hosted Blazor app is configured with the `UseBlazor` extension method on [IApplicationBuilder](https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.iapplicationbuilder) in `Startup.Configure`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To host a Blazor app the ASP.NET Core app references the Blazor app project. The ASP.NET Core app is then configured to host Blazor app with the UseBlazor
extension method . . .
docs/host-and-deploy/index.md
Outdated
* Configures [Static File Middleware](https://docs.microsoft.com/aspnet/core/fundamentals/static-files) to serve Blazor's static assets from the *dist* folder. In the Development environment, the files in *wwwroot* are served. | ||
* Configure single-page application routing for files outside of the *_framework* folder, which serves the default page (*index.html*) for any request that hasn't been served by a prior Static File Middleware instance. | ||
|
||
For information on ASP.NET Core app hosting and deployment, see [Host and deploy ASP.NET Core](https://docs.microsoft.com/aspnet/core/host-and-deploy). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the ASP.NET Core app is published, the Blazor app will be included with the published output so that the ASP.NET Core app and the Blazor app can be deployed together. For more information on ASP.NET Core app hosting and deployment . . .
docs/host-and-deploy/index.md
Outdated
If a request is made using the browser's address bar for `www.contoso.com/About`, the request fails. No such resource exists on the app's Internet host, so a *404 Not found* response is returned. | ||
|
||
Because browsers make requests to Internet-based hosts for client-side pages, web servers and services must rewrite all requests to the *index.html* page. When *index.html* is returned, the app's client-side router takes over and responds with the correct resource. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a section that discusses setting the base path here.
32d633c
to
3ee45ad
Compare
@danroth27 Updates made.
[EDIT] I noticed in blazor.js that the app base path is used in client-side routing, so we might need to expand the app base path purpose explanation to include that its used in link generation and client-side routing. |
6bb1b1f
to
a4b32ed
Compare
02c6fa8
to
c5a83cf
Compare
Add Dan Update Update Updates Updates Updates
1c72bf1
to
ae3a4de
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Just one minor comment about flipping the order so that standalone hosting is discussed first.
docs/host-and-deploy/index.md
Outdated
|
||
The assets in the *publish* folder are deployed to the web server. Deployment might be a manual or automated process depending on the development tools in use. | ||
|
||
There are two deployment models for Blazor apps: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the standalone section has the detailed discussion on SPA routing and specifying the app base path I think it would make sense to flip the order here and put the standalone section first. That way when these concepts are referred to in the ASP.NET Core section you know what they are.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should reorganize ... it breaks the topic a bit to split the standalone content across the hosted Blazor content.
How about going to this outline:
- Publishing
- Rewrite URLs for correct routing
- App base path
- Deployment types
- Hosted
- Standalone with deployment strategies
@danroth27 Try it now with a revised outline ... it solves the problem you mentioned and keeps the standalone content together. |
Works for me. |
Fixes #5