const http = require('node:http'); const fs = require('node:fs'); const path = require('node:path'); const ts = require('typescript'); const root = path.resolve(__dirname, '..'); const html = `矩形出块门验证
正在加载 Cocos 引擎
`; http.createServer((req, res) => { if (req.url.startsWith('/assets/')) { http.get('http://localhost:7456'+req.url, upstream => { res.writeHead(upstream.statusCode,upstream.headers);upstream.pipe(res); }).on('error', e => {res.writeHead(502);res.end(e.message);}); return; } if (req.url === '/engine.js') { http.get('http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js', upstream => { res.writeHead(upstream.statusCode, {'Content-Type':'application/javascript'}); upstream.pipe(res); }).on('error', e => {res.writeHead(502);res.end(e.message);}); return; } if (req.url === '/gate.js') { const source=fs.readFileSync(path.join(root,'assets/Script/SpawnGate.ts'),'utf8'); const compiled=ts.transpileModule(source,{compilerOptions:{target:ts.ScriptTarget.ES2017,module:ts.ModuleKind.CommonJS,experimentalDecorators:true}}).outputText; res.setHeader('Content-Type','application/javascript'); res.end('(function(){const exports={};'+compiled+';window.SpawnGate=exports.default;})();');return; } if (req.url.startsWith('/art/')) { const name=path.basename(req.url); res.setHeader('Content-Type','image/png'); res.end(fs.readFileSync(path.join(root,'assets/UI/prop/doorCreateBlock',name)));return; } res.setHeader('Content-Type','text/html; charset=utf-8');res.end(html); }).listen(63367,'127.0.0.1',()=>console.log('http://127.0.0.1:63367'));