NUXT框架

一. 什么是服务器端渲染

从github下载开源项目 在cmd 输入:git clone 地址链接

1.服务端渲染

服务器端渲染:后端先调用数据库,获得数据之后,将数据和页面元素进行拼装,组合成完整的HTML页面,再直接返回给浏览器,以便用户浏览
例如:http://www.cnblogs.com/cate/design/

2. 什么是客户端渲染

客户端渲染:数据由浏览器通过ajax动态取得,在通过js将数据填充到dom元素上最终展示到网页中,这样的过程叫做客户端渲染。
例如:https://h5.ele.me/misite/

二. 服务器端渲染 vs客户端渲染

1.服务器端渲染需要消耗更多的服务器端资源(CPU,内存等)
2.客户端渲染可以将静态资源部署到cdc上,实现高并发
3.服务端渲染对seo更友好

三.vue服务器端的渲染的实现

网站:https://ssr.vuejs.org/zh/
1.安装依赖:
	npm install vue vue-server-renderer --save
2.编写代码:
	1.创建vue实例
	const vue=require('vue)
		const app=new vue({
   
		template:`<div>hello world</div>`
		})
	2.创建一个renderer
	const renderer=require('vue-server-render').createRenderer()
	3.将vue实例渲染为html
	renderer.renderTostring(app,(err,html)=>{
   
		<div data-server-renderered="true>hello world</div>
	})

四.nuxt安装

1.npx vreate-nuxt-app 项目名称
2.配置详解
? Project name nuxttest							//项目名称
? Project description My astounding Nuxt.js project		//项目描述
? Author name forever									//作者姓名
? Choose programming language JavaScript			//选择开发的语言 javascript or 			typescript
? Choose the package manager Yarn				//选择包管理的工具 npm or yarn
? Choose UI framework Element					//选择一个UI框架
? Choose custom server framework Express			//选择一种服务端框架
? Choose Nuxt.js modules (Press <space> to select, <a> to toggle all, <i> to invert selection)
? Choose linting tools (Press <space> to select, <a> to toggle all, <i> to invert selection) //检查代码是否规范
? Choose test framework None						//选择一个测试框架
? Choose rendering mode Universal (SSR) 			//选择一种渲染模式 SSR or SPA
? Choose development tools (Press <space> to select, <a> to toggle all, <i> to invert selection)

五.目录结构

在这里插入图片描述

六.nuxt配置

	1.css\
	npminstall--save-dev node-sass sass-loader
	modeule.exports={
   
	css:[
		'@assets/css/style.scss'
	]
}

注意配置文件中要写scss

七.nuxt路由

1.静态路由

<nuxt-link to="/user">首页</nuxt-link>
<nuxt-link to="{name:'user'}">首页</nuxt-link>

在pages 直接建立.vue文件 路由就是/home
如果写home home.vue 路由/home是找不到的 应该写/home-home
首先看下nuxt.js 路由的配置
2.动态路由

 
 路由配置修改
 routes: [{
   
    path: "/detail/detail/:id",
      }]
      标签跳转<nuxt-link :to="'/user/'+item.id">{
   {
   item.name}}</nuxt-link>
      接受:this.$route.params.id   name传参
    编译跳转
     routes: [{
   
    path: "/detail/detail",
    }]
    this.$router.push('/detail/detail?id='+val);
    接受:this.$route.query.id   参数直接?id
    

八.nuxt异步数据

<template>
  <div class="home">
      <h2>商品列表yong
         {
   {
   detail
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值