SSR笔记
koa2
安装
1
npm install -g koa-generator
通过脚手架搭建项目
1
koa2 -e demo
-e
表示使用ejs
模板npm install
和npm run dev
运行
mongodb
下载安装,并配置环境变量
安装教程http://www.runoob.com/mongodb/mongodb-window-install.html
使用robo 3T
进行可视化管理
注意配置环境变量
mongoose
Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具
运行安装
1 | npm install mongoose |
redis
安装教程http://www.runoob.com/redis/redis-install.html
注意配置环境变量
nuxt
脚手架搭建项目
1
vue init nuxt-community/koa-template <project-name>
修改
package.json
,升级依赖包backpack-core
升级到0.8.3eslint
升级到3.19.0
eslint-loader
升级到2.1.1
nuxt的思想是创建即配置
pages文件夹存放页面。components文件夹存放公共组件。layout存放模板。
声明layout: ‘search’指定使用search模板
接口定义
server下写接口,创建interface/city.js:
1 | import Router from 'koa-router' |
server/index.js里引入:
1 | import cityInterface from './interface/city' |
数据渲染
- 客户端获取数据
1 | async mounted() { |
asyncData处理组件相关数据
1
2
3
4
5
6
7
8
9async asyncData() {
// 服务端下发,script标签,window上挂载数据
let {status, data: {list}} = await axios.get('http://localhost:3000/city/list')
if (status === 200) {
return {
list
}
}
}
脚手架
1 | npx create-nuxt-app <项目名> |
如果npx报错,可先全局安装create-nuxt-app
1 | npm install -g create-nuxt-app |
server/index.js下,使用的是require,如果改成import会出错,办法:
package.json 中,在scripts的dev和start下追加 –exec babel-node,并创建babel指令集.babelrc
1 | { |
安装
1 | npm install babel-preset-es2015 |