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.0eslint-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  |