66 gtag ( 'js' , new Date ( ) ) ; gtag ( 'config' , 'UA-7722718-13' ) ; </ script >
77
88 < meta charset ="utf-8 "/>
9- < meta name ='date ' content ='2025-12-04T04:13:55.5357380Z '>
9+ < meta name ='date ' content ='2025-12-04T04:43:32.9744416Z '>
1010 < meta name ="viewport " content ="width=device-width, initial-scale=1 ">
1111 < link rel ="icon " type ="image/svg " href ="/img/logo.svg ">
1212 < title > React Templates</ title >
5656 < a href ="/vue/ " class ="inline-flex items-center border-b-2 px-1 pt-1 text-sm font-medium border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:hover:text-gray-200 ">
5757 Vue
5858 </ a >
59- < a href ="/react/ " class ="inline-flex items-center border-b-2 px-1 pt-1 text-sm font-medium border-indigo- 500 text-gray-900 ">
59+ < a href ="/react/ " class ="inline-flex items-center border-b-2 px-1 pt-1 text-sm font-medium border-transparent text-gray- 500 hover:border-gray-300 hover: text-gray-700 dark:hover:text-gray-200 ">
6060 React
6161 </ a >
6262 < a href ="/autoquery/ " class ="inline-flex items-center border-b-2 px-1 pt-1 text-sm font-medium border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:hover:text-gray-200 ">
110110 < a href ="/vue/ " class ="block border-l-4 py-2 pl-3 pr-4 text-base font-medium border-transparent text-gray-600 dark:text-gray-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-900 hover:text-gray-800 dark:hover:text-gray-100 ">
111111 Vue
112112 </ a >
113- < a href ="/react/ " class ="block border-l-4 py-2 pl-3 pr-4 text-base font-medium border-indigo-500 bg-indigo -50 dark:bg-indigo -900 text-indigo-700 dark:text-indigo-200 ">
113+ < a href ="/react/ " class ="block border-l-4 py-2 pl-3 pr-4 text-base font-medium border-transparent text-gray-600 dark:text-gray-300 hover:border-gray-300 hover: bg-gray -50 dark:hover: bg-gray -900 hover: text-gray-800 dark:hover: text-gray-100 ">
114114 React
115115 </ a >
116116 < a href ="/autoquery/ " class ="block border-l-4 py-2 pl-3 pr-4 text-base font-medium border-transparent text-gray-600 dark:text-gray-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-900 hover:text-gray-800 dark:hover:text-gray-100 ">
@@ -1438,7 +1438,7 @@ <h1 class="text-4xl tracking-tight font-extrabold text-gray-900 dark:text-gray-5
14381438
14391439 < div class ="not-prose "> </ div >
14401440
1441- < div class ="content "> < h2 id ="react-static " > React Static < a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#react-static ' " aria-label ="Permalink "> ​</ a > </ h2 >
1441+ < div class ="content "> < h2 id ="angular-spa " > Angular SPA < a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#angular-spa ' " aria-label ="Permalink "> ​</ a > </ h2 >
14421442< h3 id ="development "> Development< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#development' " aria-label ="Permalink "> ​</ a > </ h3 >
14431443< pre class ="mermaid "> ---
14441444config:
@@ -1499,7 +1499,7 @@ <h3 id="production">Production<a class="header-anchor" href="javascript:;" oncli
14991499 classDef nextApp fill:#f3e8ff,stroke:#6b21a8,stroke-width:2px,color:#6b21a8
15001500 classDef static fill:#ecfdf5,stroke:#047857,stroke-width:2px
15011501</ pre >
1502- < h2 id ="next.js -static "> Next.js Static< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#next.js -static' " aria-label ="Permalink "> ​</ a > </ h2 >
1502+ < h2 id ="react -static "> React Static< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#react -static' " aria-label ="Permalink "> ​</ a > </ h2 >
15031503< h3 id ="development-1 "> Development< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#development-1' " aria-label ="Permalink "> ​</ a > </ h3 >
15041504< pre class ="mermaid "> ---
15051505config:
@@ -1509,6 +1509,67 @@ <h3 id="development-1">Development<a class="header-anchor" href="javascript:;" o
15091509 themeVariables:
15101510 edgeLabelBackground: '#ffffff'
15111511---
1512+ flowchart LR
1513+ subgraph DEVELOPMENT["DEVELOPMENT"]
1514+ direction LR
1515+ DevServer[(".NET PROJECT<br> (localhost:5001)")]
1516+ Identity("ASP.NET Core Identity<br> Razor Pages")
1517+ Endpoints(".NET Endpoint Routing")
1518+ DevNext[/"Vite React App<br> (localhost:5173)<br> Runs concurrently"/]
1519+ end
1520+ DevServer -- /Identity/* --> Identity
1521+ DevServer -- /* --> Endpoints
1522+ DevServer -- /* Fallback<br> (Proxied) --> DevNext
1523+ DevServer -- Vite HMR<br> (Websocket) --> DevNext
1524+
1525+ Identity:::static
1526+ Endpoints:::static
1527+ DevServer:::netHost
1528+ DevNext:::nextApp
1529+ classDef netHost fill:#dbeafe,stroke:#1e3a8a,stroke-width:2px,color:#1e3a8a
1530+ classDef nextApp fill:#f3e8ff,stroke:#6b21a8,stroke-width:2px,color:#6b21a8
1531+ classDef static fill:#ecfdf5,stroke:#047857,stroke-width:2px
1532+ </ pre >
1533+ < h3 id ="production-1 "> Production< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#production-1' " aria-label ="Permalink "> ​</ a > </ h3 >
1534+ < pre class ="mermaid "> ---
1535+ config:
1536+ layout: dagre
1537+ look: neo
1538+ theme: redux
1539+ themeVariables:
1540+ edgeLabelBackground: '#ffffff'
1541+ ---
1542+ flowchart LR
1543+ subgraph PRODUCTION["PRODUCTION"]
1544+ direction LR
1545+ DevServer[(".NET PROJECT<br> (localhost:5001)")]
1546+ Identity("ASP.NET Core Identity<br> Razor Pages")
1547+ Endpoints(".NET Endpoint Routing")
1548+ StaticFiles[/"/wwwroot<br> Serves static files<br> (HTML, CSS, JS)"/]
1549+ end
1550+ DevServer -- /Identity/* --> Identity
1551+ DevServer -- /* --> Endpoints
1552+ DevServer <-- /* Static Files --> StaticFiles
1553+
1554+ DevServer:::netHost
1555+ Identity:::static
1556+ Endpoints:::static
1557+ StaticFiles:::static
1558+
1559+ classDef netHost fill:#dbeafe,stroke:#1e3a8a,stroke-width:2px,color:#1e3a8a
1560+ classDef nextApp fill:#f3e8ff,stroke:#6b21a8,stroke-width:2px,color:#6b21a8
1561+ classDef static fill:#ecfdf5,stroke:#047857,stroke-width:2px
1562+ </ pre >
1563+ < h2 id ="next.js-static "> Next.js Static< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#next.js-static' " aria-label ="Permalink "> ​</ a > </ h2 >
1564+ < h3 id ="development-2 "> Development< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#development-2' " aria-label ="Permalink "> ​</ a > </ h3 >
1565+ < pre class ="mermaid "> ---
1566+ config:
1567+ layout: dagre
1568+ look: neo
1569+ theme: redux
1570+ themeVariables:
1571+ edgeLabelBackground: '#ffffff'
1572+ ---
15121573flowchart LR
15131574 subgraph DEVELOPMENT["DEVELOPMENT"]
15141575 direction LR
@@ -1533,7 +1594,7 @@ <h3 id="development-1">Development<a class="header-anchor" href="javascript:;" o
15331594 classDef nextApp fill:#f3e8ff,stroke:#6b21a8,stroke-width:2px,color:#6b21a8
15341595 classDef static fill:#ecfdf5,stroke:#047857,stroke-width:2px
15351596</ pre >
1536- < h3 id ="production-1 "> Production< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#production-1 ' " aria-label ="Permalink "> ​</ a > </ h3 >
1597+ < h3 id ="production-2 "> Production< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#production-2 ' " aria-label ="Permalink "> ​</ a > </ h3 >
15371598< pre class ="mermaid "> ---
15381599config:
15391600 layout: dagre
@@ -1564,7 +1625,7 @@ <h3 id="production-1">Production<a class="header-anchor" href="javascript:;" onc
15641625 classDef static fill:#ecfdf5,stroke:#047857,stroke-width:2px
15651626</ pre >
15661627< h2 id ="next.js-react-server-components "> Next.js React Server Components< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#next.js-react-server-components' " aria-label ="Permalink "> ​</ a > </ h2 >
1567- < h3 id ="development-2 "> Development< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#development-2 ' " aria-label ="Permalink "> ​</ a > </ h3 >
1628+ < h3 id ="development-3 "> Development< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#development-3 ' " aria-label ="Permalink "> ​</ a > </ h3 >
15681629< pre class ="mermaid "> ---
15691630config:
15701631 layout: dagre
@@ -1597,7 +1658,7 @@ <h3 id="development-2">Development<a class="header-anchor" href="javascript:;" o
15971658 classDef nextApp fill:#f3e8ff,stroke:#6b21a8,stroke-width:2px,color:#6b21a8
15981659 classDef static fill:#ecfdf5,stroke:#047857,stroke-width:2px
15991660</ pre >
1600- < h3 id ="production-2 "> Production< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#production-2 ' " aria-label ="Permalink "> ​</ a > </ h3 >
1661+ < h3 id ="production-3 "> Production< a class ="header-anchor " href ="javascript:; " onclick ="location.hash='#production-3 ' " aria-label ="Permalink "> ​</ a > </ h3 >
16011662< pre class ="mermaid "> ---
16021663config:
16031664 layout: dagre
@@ -1635,7 +1696,7 @@ <h3 id="production-2">Production<a class="header-anchor" href="javascript:;" onc
16351696 < div class ="not-prose "> </ div >
16361697
16371698 < div class ="not-prose py-8 ">
1638- < a class ="text-slate-500 font-semibold hover:text-indigo-600 flex items-center " href ="https://github.com/ServiceStack/docs.servicestack.net/blob/main/MyApp/_pages/react-templates .md " target ="_blank " rel ="noopener noreferrer ">
1699+ < a class ="text-slate-500 font-semibold hover:text-indigo-600 flex items-center " href ="https://github.com/ServiceStack/docs.servicestack.net/blob/main/MyApp/_pages/_template-diagrams .md " target ="_blank " rel ="noopener noreferrer ">
16391700 Edit this page on GitHub< svg class ="ml-1 inline-block w-4 h-4 " xmlns ="http://www.w3.org/2000/svg " aria-hidden ="true " x ="0px " y ="0px " viewBox ="0 0 100 100 " width ="15 " height ="15 " data-v-1ed99556 =""> < path fill ="currentColor " d ="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z "> </ path > < polygon fill ="currentColor " points ="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9 "> </ polygon > </ svg >
16401701 </ a >
16411702 </ div >
@@ -1652,8 +1713,8 @@ <h5 class="text-slate-900 font-semibold mb-4 text-sm leading-6 dark:text-slate-1
16521713 </ h5 >
16531714 < ul class ="text-slate-700 text-sm leading-6 ">
16541715 < li class ="group text-gray-800 hover:text-gray-900 ">
1655- < span v-hash ="'#react-static ' " data-id ="react-static " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1656- React Static
1716+ < span v-hash ="'#angular-spa ' " data-id ="angular-spa " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1717+ Angular SPA
16571718 </ span >
16581719 < ul class ="ml-4 ">
16591720 < li data-id ="development " class ="text-gray-500 hover:text-gray-900 ">
@@ -1671,8 +1732,8 @@ <h5 class="text-slate-900 font-semibold mb-4 text-sm leading-6 dark:text-slate-1
16711732 </ ul >
16721733 </ li >
16731734 < li class ="group text-gray-800 hover:text-gray-900 ">
1674- < span v-hash ="'#next.js -static' " data-id ="next.js -static " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1675- Next.js Static
1735+ < span v-hash ="'#react -static' " data-id ="react -static " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1736+ React Static
16761737 </ span >
16771738 < ul class ="ml-4 ">
16781739 < li data-id ="development-1 " class ="text-gray-500 hover:text-gray-900 ">
@@ -1690,8 +1751,8 @@ <h5 class="text-slate-900 font-semibold mb-4 text-sm leading-6 dark:text-slate-1
16901751 </ ul >
16911752 </ li >
16921753 < li class ="group text-gray-800 hover:text-gray-900 ">
1693- < span v-hash ="'#next.js-react-server-components ' " data-id ="next.js-react-server-components " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1694- Next.js React Server Components
1754+ < span v-hash ="'#next.js-static ' " data-id ="next.js-static " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1755+ Next.js Static
16951756 </ span >
16961757 < ul class ="ml-4 ">
16971758 < li data-id ="development-2 " class ="text-gray-500 hover:text-gray-900 ">
@@ -1708,6 +1769,25 @@ <h5 class="text-slate-900 font-semibold mb-4 text-sm leading-6 dark:text-slate-1
17081769 </ li >
17091770 </ ul >
17101771 </ li >
1772+ < li class ="group text-gray-800 hover:text-gray-900 ">
1773+ < span v-hash ="'#next.js-react-server-components' " data-id ="next.js-react-server-components " class ="cursor-pointer font-medium block text-sm transform transition-colors duration-200 py-2 ">
1774+ Next.js React Server Components
1775+ </ span >
1776+ < ul class ="ml-4 ">
1777+ < li data-id ="development-3 " class ="text-gray-500 hover:text-gray-900 ">
1778+ < span v-hash ="'#development-3' " class ="cursor-pointer flex text-sm transform transition-colors duration-200 py-2 ">
1779+ < svg width ="3 " height ="24 " viewBox ="0 -9 3 24 " class ="mr-2 overflow-visible "> < path d ="M0 0L3 3L0 6 " fill ="none " stroke ="currentColor " stroke-width ="1.5 " stroke-linecap ="round "> </ path > </ svg >
1780+ Development
1781+ </ span >
1782+ </ li >
1783+ < li data-id ="production-3 " class ="text-gray-500 hover:text-gray-900 ">
1784+ < span v-hash ="'#production-3' " class ="cursor-pointer flex text-sm transform transition-colors duration-200 py-2 ">
1785+ < svg width ="3 " height ="24 " viewBox ="0 -9 3 24 " class ="mr-2 overflow-visible "> < path d ="M0 0L3 3L0 6 " fill ="none " stroke ="currentColor " stroke-width ="1.5 " stroke-linecap ="round "> </ path > </ svg >
1786+ Production
1787+ </ span >
1788+ </ li >
1789+ </ ul >
1790+ </ li >
17111791 </ ul >
17121792 </ div >
17131793 </ div >
0 commit comments