做者:太皇太后@毛豆前端css
随着Vue使用率的持续上长,愈来愈多的页面都应用了浏览器渲染的方式,极大提高了前端的开发的质量和效率,可是也带来了首屏渲染慢、SEO不友好及其余一些问题。 基于Vue的SSR构架Nuxt.js很好的解决了这个问题,页面直出,先后端同构,不只解决了首屏直出渲染、SEO等问题,在开发质量和效率也没有任何损失。html
Nuxt.js是一个针对Vue的SSR框架,采用模块化的架构,简单易用,性能好。Nuxt.js的开发者积极活跃,版本迭代迅速,于2018年1月9日发布了v1.0.0正式版本。并且获得了Vue官网的大力推荐,接下来让咱们一块儿看看Nuxt.js的强大之处。前端
Nuxt.js 是一个基于vue.js的通用应用框架,其核心主要是经过vue-server-renderer模块来实现服务端渲染。 vue-server-renderer是Vue服务端Node.js渲染的一个模块,用来生成HTML内容。 使用步骤以下:vue
运行命令node server.js启动服务node
浏览器打开http://localhost:3100/,会看到data-server-rendered = “true”,表示是服务端渲染webpack
确保安装了npx(npx在npm版本5.2.0默认安装了)ios
通过以上三个步骤,打开浏览器,访问localhost:3000,这跟建立一个Vue项目没太多不一样。项目目录结构以下:git
pages目录中的任何Vue组件都会基于他们的文件名称和目录结构自动添加到vue-router中。Nuxt能够生成对应的路由配置,在.nuxt/rouer.js能够体现出来,如图:github
在父级vue文件内增长用于显示子视图内容web
为适应不一样业务需求,还有动态路由,动态嵌套路由等功能 ,能够参照官网说明:zh.nuxtjs.org/guide/routi…
assets包含未编译的资源,与webpack如何加载和处理文件有更多关系,与nuxt如何工做没有太多关系。
static包含一些映射到你的站点的根目录的静态文件。
好比:静态资源放在assets下: < img src="~/assets/timg.jpeg"/>,若是静态资源放在static下: < img src="timg.jpeg"/>
在layouts目录下建立一个新的布局,即.vue文件,代码以下
export default { layout: 'admin-layout' } 复制代码
注意:若是你输入一个不正确的url,会显示一个错误页面。事实上,这个错误页面是另一种布局。nuxt有它本身的错误页面布局,可是若是你想要编辑它,只须要建立一个error.vue布局,而后nuxt就会使用这个布局代替默认的布局
中间件(middleware)是容许你定义一个自定义函数(提供了一个context参数,能够获取sever端和client端各类信息)运行在一个页面或布局以前。好比咱们在渲染页面以前判断权限的拦截,或者根据用户权限跳转到相应的路由等。 就本地开发环境时跳转到指定路由为例,可这么配置:
能够配置须要在vue应用实例化以前须要运行的js插件,能够是你本身写的库或是第三方库。好比:对于axios这种ajax请求插件,element-ui第三方库等。就element-ui为例,能够这么配置:
head 通常用于配置默认的meta标签
css 用于定义应用的全局样式文件,模块或第三方库
dev 配置是开发仍是生产模式
loading 个性化定制must.js使用的加载组建
env 定义用于客户端和服务端的环境变量
……
更多可查看官网