egg view plugin for [vue].
$ npm i egg-view-vue --save
// {app_root}/config/plugin.js
exports.vue = {
enable: true,
package: 'egg-view-vue',
};
Render in controller, support js bundle render and json bundle render (vue 2.3+)
// {app_root}/app/controller/test.js
exports.home = function* (ctx) {
// {app_root}/app/view/vue-ssr-server-bundle.js
yield ctx.render('vue-ssr-server-bundle.js', { name: 'vue js bundle render' });
};
json bundle render (vue 2.3+), need to config renderOptions createBundleRenderer
// {app_root}/config/config.default.js
exports.vue = {
// renderOptions config, please @see https://ssr.vuejs.org/en/api.html#renderer-options
renderOptions: {
// template: '<!DOCTYPE html><html lang="en"><body><!--vue-ssr-outlet--></body></html>',
// webpack vue ssr plugin build manifest file
// clientManifest: require(path.join(app.baseDir,'public/vue-ssr-client-manifest.json')),
}
};
// {app_root}/app/controller/test.js
exports.home = function* (ctx) {
// {app_root}/app/view/vue-ssr-server-bundle.json
yield ctx.render('vue-ssr-server-bundle.json', { name: 'vue json render' });
};
vue server side render example, please see egg-vue-webpack-boilerplate
see config/config.default.js for more detail.
Please open an issue here.