1313
1414 < head >
1515 < meta charset =utf-8 >
16-
16+
1717 < title >
1818 WebContainer Server
1919 </ title >
20-
20+
2121 < meta name =description content ='Learn how to set up a Node.js server inside a WebContainer—right in the browser. This hands-on guide includes editable, runnable demo code so you can experiment with server-side logic instantly, without installing anything locally. '>
22-
22+
2323 < base href ='https://ext-code.com/blog/25-08-27/webcontainer-server/ '>
2424 < link rel =canonical href ='https://ext-code.com/blog/25-08-27/webcontainer-server/webcontainer-server.html '>
2525
2626 < link rel =icon type ='image/png ' href ='/blog/image/blog-30.png '>
2727 < meta name =viewport content ='width=device-width, initial-scale=1 '>
28-
28+
2929 < script type ='application/ld+json '>
3030 {
3131 "@context" : "https://schema.org" ,
4040 }
4141 </ script >
4242
43-
43+
4444 < script src ='https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js '> </ script >
4545
4646
47- < script src ='https://libs.ext-code.com/js/dom/component/component.js '> </ script >
48-
47+ < script src ='https://libs.ext-code.com/js/dom/component/v3.0/ component.js '> </ script >
48+
4949
5050 < script init >
5151 console . clear ( ) ;
5454 console . json = v => console . log ( JSON . stringify ( v , null , 4 ) ) ;
5555 var df = true , version = 'v1.0'
5656 ;
57-
57+
5858 var ace ;
5959
6060 var ext ;
6868 var log ;
6969
7070
71-
71+
7272 //:
73-
74-
73+
74+
7575 async function init ( ) {
7676 debug ( 'init' , version ) ;
7777 menu = menumod ( ) ;
78-
78+
7979 mod . base . add ( { ext, $, datatype, keydown, menu, menumod, ace} ) ;
8080
81-
82- hdr = mod [ 'blog-hdr' ] ;
81+
82+ hdr = mod [ 'blog-hdr' ] ;
8383 ex = mod . ex ;
8484 log = mod [ 'log-mod' ] ;
8585
9393 ex . init ( ) ,
9494 log . init ( ) ,
9595 ] ) ;
96-
97-
96+
97+
9898
9999 initdom ( document . body ) ;
100-
101-
100+
101+
102102 } //init
103-
104-
103+
104+
105105 //:
106106
107107
108108( async ( ) => {
109-
109+
110110 mod . stack . add ;
111111
112112 ( { ext} = await import ( 'https://libs.ext-code.com/js/io/ext-loader/ext-loader.m.js' ) ) ;
113-
113+
114114 var promise = ext . load . libs (
115115 'js/dom/$.js' ,
116116 'js/core/datatype.js' ,
119119 'js/debug/debug.js' ,
120120 ) ;
121121 [ $ , datatype , menumod , keydown , debug ] = await promise ;
122-
122+
123123 mod . stack . complete ;
124-
124+
125125} ) ( ) ;
126126
127127
128128 </ script init>
129-
129+
130130
131131 < link rel =stylesheet href ='/blog/css/blog.css '>
132132
144144 [component ]
145145 {display : none}
146146
147- .description
147+ .description
148148 {max-width : 1000px ;text-align : justify;border-left : 4px solid # 4a90e2 ;padding : 1rem 2rem ;
149149 background-color : # f9f9f9 ;font-family : system-ui, sans-serif;font-size : 1rem ;line-height : 1.6 ;color : # 333 }
150150 .description > p
151151 {margin : 0 }
152152 .description > p + p
153153 {margin : 10px 0 }
154-
154+
155155 code
156156 {font-family : monospace;background : whitesmoke}
157157 code .inline
158158 {display : inline;padding : 5px 10px }
159-
159+
160160 a
161161 {color : # 4a90e2 ;text-decoration : none;font-weight : 500 }
162- a : hover
162+ a : hover
163163 {text-decoration : underline}
164164 .link-domain
165165 {font-size : 0.85rem ;color : # 777 ;margin-left : 0.25rem }
166- .link-domain ::before
166+ .link-domain ::before
167167 {content : '[' }
168168 .link-domain ::after
169169 {content : ']' }
170170 .link-txt
171171 {}
172-
172+
173173 input
174174 {font-size : 16px ;padding : 5px 7px ;box-sizing : border-box;}
175175 input [type = button ]
176176 {cursor : pointer}
177-
178-
177+
178+
179179 </ style >
180180
181-
181+
182182
183183 </ head >
184184
185185
186186 < body >
187-
187+
188188 < blog-hdr component =grp1 >
189189 < h1 class =title >
190190 WebContainer Server
@@ -193,37 +193,37 @@ <h1 class=title>
193193 29 Oct 2025
194194 </ time >
195195 </ blog-hdr >
196-
197-
196+
197+
198198 < div class =description >
199-
199+
200200 < p >
201201 Learn how to set up a Node.js server inside a WebContainer—right in the browser.
202202 This hands-on guide includes editable, runnable demo code so you can experiment with server-side logic instantly, without installing anything locally.
203203 </ p >
204204
205205 </ div >
206-
206+
207207 < snippet-html-console id =ex src ='ex/ex.html ' component > </ snippet-html-console >
208-
208+
209209
210210 < log-mod component > </ log-mod >
211-
212-
211+
212+
213213 </ body >
214214
215215
216216 < script >
217-
218-
217+
218+
219219 var root ;
220220
221-
221+
222222 //:
223223
224224
225225 function initdom ( rootnode ) {
226-
226+
227227 root = rootnode ;
228228
229229 hdr . initdom ( root ) ;
@@ -232,10 +232,10 @@ <h1 class=title>
232232
233233
234234
235- } //initdom
236-
237-
238-
235+ } //initdom
236+
237+
238+
239239 </ script >
240240
241241</ html >
0 commit comments