UNPKG

ala-cli

Version:

aladdin develop utils

54 lines (44 loc) 1.18 kB
/** * * @file vue编译缓存工具 * @author chenrui09 * @date 2017/5/9 * */ const vipRender = require('vip-server-renderer'); let vueResultCache = {}; function cache (key, content) { if (!vueResultCache[key] && content) { vueResultCache[key] = vipRender.compile({ content: content, mode: 'amd', jsPath(path, tmpVal) { return 'static/' + tmpVal.replace('../', ''); }, phpPath(tmpPath, tmpVal) { return 'aladdin/' + tmpVal.replace('../', '') + '.php'; } }); } return vueResultCache[key]; } function clearCache () { vueResultCache = {}; } function getRender (key) { let result = cache(key); let props = result.props; let template = ''; let renderer; props.forEach((prop) => { template += ':' + prop + '=' + prop + ' '; }); template = '<App ' + template + '/>'; renderer = vipRender.getRender(template); return renderer; } module.exports = { cache: cache, clearCache: clearCache, getRender: getRender }