UNPKG

generator-wxnode-boilerplate

Version:

Yeoman generator for wxnode boilerplate

33 lines (30 loc) 957 B
import path from 'path'; import fs from 'fs'; import {getReadyPromise, getStaticHtml} from './render-server'; const htmlPath = path.resolve(process.cwd() , './dist/index.html'); let tplPromise: Promise<string>; const isProd = process.env.NODE_ENV === 'production'; const isDebugServer = process.env.DEBUG === 'server'; export function getClientTpl() { if (isProd || isDebugServer) { if (!tplPromise) { tplPromise = new Promise((resolve, reject) => { fs.readFile(htmlPath, (err, data) => { if (err) reject(err); resolve(data + ''); }); }); } return tplPromise; } else { return getReadyPromise().then(() => { return getStaticHtml(); }); } } export function clientRender(ctx) { return getClientTpl().then((tpl) => { ctx.set('Content-Type', 'text/html'); ctx.body = tpl; }); }