## **服務端生命周期**
>服務器初始化`nuxtServerInit`
>創建store/index.js
```
export const actions = {
nuxtServerInit(store,context){
console.log('nuxtServerInit',store,context)
}
}
```
>中間件運行`middleware`
>在nuxt.config.js中定義中間件
```
router:{
middleware:'auth'
}
```
>創建中間件文件middleware/auth.js
```
export default function({store,route,redirect,params,query,req,res}) {
console.log('middleware')
}
```
>定義在layouts/default.vue中
```
export default{
// middleware:'auth' ,
middleware(){
console.log('middleware')
}
}
```
>定義在pages/index.vue中
```
export default{
// middleware:'auth' ,
middleware(){
console.log('middleware')
}
}
```
>驗證參數`validate`
```
export default{
validate(context){
console.log('validate')
return true
}
}
```
異步數據處理`asyncData`、 `fetch`
```
export default{
asyncData(context){
console.log('asyncData')
return {
a:666
}
},
fetch(context){
console.log('fetch')
}
}
```
>開始客戶端渲染`Render`
## **Vue生命周期 SSR CSR**
組件創建前`beforeCreated`
```
export default{
beforeCreated(){
console.log('beforeCreated')
}
}
```
>組件創建后`created`
```
export default{
created(){
console.log('created')
}
}
```
## **運行在客戶端**
>組件加載前 `beforeMount`
>組件加載完畢 `mounted`
>組件更新前 `beforeUpdate`
>組件更新完畢 `updated`
>組件卸載前 `beforeDestroy`
>組件卸載后 `destroyed`