vue ssr java_Vue-SSR入门
一、下载安装
$ npm install express-generator -g
使用express命令创建项目(-e:ejs模板引擎)
$ express -e myapp
2、下载 vue vue-server-renderer
npm install vue vue-server-renderer --save
二、入门示例
在项目根目录下创建index.js,内容如下
const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer()
server.get('*', (req, res) => {
const app = new Vue({
data: {
url: req.url
},
template: `
`
})
renderer.renderToString(app, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.end(`
Hello
`)
})
})
server.listen(4000)
命令行启动
$ node index.js
访问网址:locathost:4000
三、使用模板
views/index.html
{{ title }}
{{ content }}
index.js
const fs = require('fs')
const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer()
server.get('*', (req, res) => {
const app = new Vue({
data: {
title: 'SSR',
content: 'hello Vue SSR.'
},
template: fs.readFileSync('./views/index.html', 'utf-8')
})
renderer.renderToString(app, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.end(html)
})
})
server.listen(4000)
四、模板插值
views/index.html
{{{ meta }}}
{{ title }}
注意:这一行注释不能少,因为这里将是应用程序 HTML 标记注入的地方,否则会报错
index.js
const fs = require('fs')
const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer({
template: fs.readFileSync('./views/index.html', 'utf-8')
})
server.get('*', (req, res) => {
const app = new Vue({
data: {
url: req.url
},
template: `
`
})
const context = {
title: 'vue ssr',
meta: `
`
}
renderer.renderToString(app, context, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.end(html)
})
})
server.listen(4000)
五、app封装
views/index.html
{{{ meta }}}
{{ title }}
routes/app.js
const Vue = require('vue')
module.exports = function createApp(context) {
return new Vue({
data: {
url: context.url
},
template: `
`
})
}
index.js
const fs = require('fs')
const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer({
template: fs.readFileSync('./views/index.html', 'utf-8')
})
const createApp = require('./routes/app')
server.get('*', (req, res) => {
const context = {
title: 'vue ssr',
meta: `
`,
url: req.url
}
const app = createApp(context)
renderer.renderToString(app, context, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.end(html)
})
})
server.listen(4000)
vue ssr java_Vue-SSR入门相关推荐
- Vue SSR 渲染 Nuxt3 入门学习
Vue SSR 渲染 Nuxt3 入门学习 SPA应用:也就是单页应用,这些多是在客户端的应用,不利于进行SEO优化(搜索引擎优化). SSR应用:在服务端进行渲染,渲染完成后返回给客户端,每个页面有 ...
- Nuxt.js开启SSR渲染快速入门
Nuxt.js开启SSR渲染快速入门 第一节:nuxt.js相关概述 nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).Vue.js是开发SPA(单页应用)的, ...
- 2017 Vue.js 2快速入门指南
注意,据部分读者反映本文水多,怕湿身者勿进.后续推荐详解 Vue & Vuex 实践 2017 Vue.js 2快速入门指南翻译自Vue.js 2 Quickstart Tutorial 20 ...
- vue源码学习--vue源码学习入门
本文为开始学习vue源码的思路整理.在拿到vue项目源码的之后看到那些项目中的文件夹,会很困惑,不知道每个文件夹内的世界,怎么变换,怎样的魔力,最后产生了vue框架.学习源码也无从学起.我解决了这些困 ...
- vue.js的快速入门使用
1. vue.js的快速入门使用 1.1 vue.js库的下载 vue.js是目前前端web开发最流行的工具库,由尤雨溪在2014年2月发布的. 另外几个常见的工具库:react.js /angula ...
- 1. vue.js的快速入门使用
1. vue.js的快速入门使用1.1 vue.js库的下载1.2 vue.js库的基本使用1.3 vue.js的M-V-VM思想1.4 显示数据2. 常用指令2.1 操作属性2.2 事件绑定例如:完 ...
- Vue (一) --- vue.js的快速入门使用
=-----------------------------------把现在的工作做好,才能幻想将来的事情,专注于眼前的事情,对于尚未发生的事情而陷入无休止的忧虑之中,对事情毫无帮助,反而为自己凭添 ...
- Vue项目构建开发入门
Vue项目构建开发入门 开篇:Vue CLI 3 项目构建基础 大家好,当你点进这个标题,开始阅读本章的时候,说明你对 Vue.js 是充满好奇心和求知欲的.我之前写过一篇文章,这样评价 Vue.js ...
- Vue、Vuejs从入门到精通 | Vue CLI详解
学习视频来源:B站<Vue.Vuejs从入门到精通> 个人在视频学习过程中也同步完成课堂练习等,现将授课材料与个人笔记分享出来. sudo npm install -g @vue/cli ...
- vue之 render函数 入门篇
目录 vue之 render函数 入门篇 简单渲染一个 h1 标签 简单渲染一个 ul 与 li 默认插槽 与 具名插槽 vue之 render函数 入门篇 render: function (cre ...
最新文章
- JavaScript高级程序设计基本概念
- SQL索引学习-聚集索引
- 应对 Job 场景,Serverless 如何帮助企业便捷上云
- Jenkins启动时提示:Starting Jenkins Jenkins requires Java8 or later, but you are running 1.7.0
- span 标记 width 设置
- 知乎热议:嵌入式开发中C++好用吗?
- LeetCode 382. 链表随机节点(概率)
- html h1 背影设为图片,CSS Backgrounds(背景)
- Python案例:按键测试
- pandas练习题二
- 学堂云3大学计算机基础答案,学堂云3答案查询公众号
- 人工智能:卷积神经网络及YOLO算法 入门详解与综述(二)
- 开发工具之 Snipaste(超级截图工具)
- NSX-T业务转发04—— 多层Tier0Tier1路由
- 计算机换色带技巧,平乐园电脑维修店教你爱普生针式打印机更换色带基本办法...
- python3 输出 26个大小写英文字母
- 浏览器打开任意可执行exe文件方法
- 【oracle工具】plsqldev美化规则文件详细解释(关键字大写,标识符小写等规则)
- 微信小程序 --- 不在以下合法域名列表中请参考文档
- JAVA个人博客系统毕业设计,个人博客系统设计与实现,个人博客网页设计毕设作品
热门文章
- 为什么学计算机会后悔?不好找实习是真的吗?
- Bootstrap图标按钮
- Qt样式表之 QSS 语法介绍;QLineEdit、
- php qq空间 图片,利用PHP生成QQ空间个人中心自动变换图片
- 利用JMeter批量注册用户
- 网络摄像头RTSP协议视频平台EasyNVR录像计划模块开发过程
- 知识图谱:属性图数据模型与Cypher查询语言
- 报税时提示服务器验证证书失败,服务器证书验证失败 服务器证书验证地址出错怎么办...
- Android-在Android studio中实现远程服务(Service)AIDL
- 伟大的航线 [set / 代码待补]