nuxt 简单介绍
栏目: JavaScript · 发布时间: 7年前
内容简介:由于面试总被问到关于ssr的问题,于是自己想搞一套服务端渲染。后来发现直接手动配置会有很多坑,与前端的朋友交流,给我推荐了nuxt,下面将研究的初步了解记录下来。Nuxt是基于Vue的一个应用框架,采用服务端渲染,使你的SPA应用(Vue)也可以拥有SEO。2. 项目目录
背景
由于面试总被问到关于ssr的问题,于是自己想搞一套服务端渲染。后来发现直接手动配置会有很多坑,与前端的朋友交流,给我推荐了nuxt,下面将研究的初步了解记录下来。
简介
Nuxt是基于Vue的一个应用框架,采用服务端渲染,使你的SPA应用(Vue)也可以拥有SEO。
实践
1. 创建项目
$ npm install -g vue-cli $ vue init nuxt/starter <project-name> $ cd <project-name> $ npm install $ npm run dev
2. 项目目录
|-- assets // 用于组织未编译的静态资源如LESS、SASS或JavaScript
|-- components // 用于自己编写的Vue组件,比如波动组件、日历组件、分页组件
|-- layouts // 布局目录,用于组织应用的布局组件,不可更改
|-- middleware // 用于存放中间件
|-- pages // 用于存放写的页面,我们主要的工作区域
|-- plugins // 用于存放JavaScript插件的地方
|-- static // 用于存放静态资源文件,比如图片
|-- store // 用于组织应用的Vuex 状态管理
|-- .editorconfig // 开发 工具 格式配置
|-- .eslintrc.js // ESLint的配置文件,用于检查代码格式
|-- .gitignore // 配置git不上传的文件
|-- nuxt.config.json // 用于组织Nuxt.js应用的个性化配置,已覆盖默认配置
|-- package-lock.json // npm自动生成,用于帮助package的统一设置的,yarn也有相同的操作
|-- package.json // npm 包管理配置文件
原理
Nuxt.js 通过一系列构建于 Vue.js 之上的方法进行服务端渲染,具体流程如下:
调用 nuxtServerInit 方法
当请求打入时,最先调用的即是 nuxtServerInit 方法,可以通过这个方法预先将服务器的数据保存,如已登录的用户信息等。另外,这个方法中也可以执行异步操作,并等待数据解析后返回。
Middleware 层
经过第一步后,请求会进入 Middleware 层,在该层中有三步操作:
读取 nuxt.config.js 中全局 middleware 字段的配置,并调用相应的中间件方法 匹配并加载与请求相对应的 layout 调用 layout 和 page 的中间件方法
调用 validate 方法
在这一步可以对请求参数进行校验,或是对第一步中服务器下发的数据进行校验,如果校验失败,将抛出 404 页面。
调用 fetch 及 asyncData 方法
这两个方法都会在组件加载之前被调用,它们的职责各有不同, asyncData 用来异步的进行组件数据的初始化工作,而 fetch 方法偏重于异步获取数据后修改 Vuex 中的状态。
以上所述就是小编给大家介绍的《nuxt 简单介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP高级程序设计
Kevin McArthur / 汪泳 等 / 人民邮电出版社出版 / 2009.7 / 45.00元
今天,PHP已经是无可争议的Web开发主流语言。PHP 5以后,它的面向对象特性也足以与Java和C#相抗衡。然而,讲述PHP高级特性的资料一直缺乏,大大影响了PHP语言的深入应用。 本书填补了这一空白。它专门针对有一定经验的PHP程序员,详细讲解了对他们最为重要的主题:高级面向对象、设计模式、文档、测试和标准PHP库等内容。同时,为适应目前Web开发的新趋势,作者还全面探讨了MVC架构和Z......一起来看看 《PHP高级程序设计》 这本书的介绍吧!