美文网首页前端开发那些事儿
Vue服务端渲染框架之Nuxt

Vue服务端渲染框架之Nuxt

作者: 榕榕vivian | 来源:发表于2020-06-22 19:21 被阅读0次

1. 什么是服务器端渲染?
服务器端渲染:后端先调用数据库,获得数据之后,将数据和页面元素进行拼装,组合成完整的HTML页面,再直接返回给浏览器,以便用户浏览。

2. 什么是客户端渲染?
客户端渲染:数据由浏览器通过ajax动态取得,再通过js将数据填充到dom元素上最终展现到网页中,这样的过程叫做客户端渲染。

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

4. Vue的SSR框架?
https://github.com/vuejs/vue-hackernews-2.0

5. Nuxt的安装?
npm v5.2.0引入的一条命令(npx),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验。
npx方式:npx create-nuxt-app my-app
使用这条命令可以避免开发者全局安装一个脚手架。

6. Nuxt目录结构?

--nuxt
  |_ assets // 组织未编译的静态资源 如:less sass 
  |_ components // 组件目录
  |_ layouts // 组织应用的布局组件
  |_ middleware // 用于存放应用的中间件 比如一些权限请求
  |_ pages // 页面
  |_ plugins // 插件目录
  |_ static // 静态文件
  |_ store // vuex状态树文件
  |_ nuxt.config.js // nuxt的配置文件

7. nuxt引入less,使用less全局变量?
首先安装依赖,执行:npm install less less-loader @nuxtjs/style-resources sass-resources-loader --save-dev
修改nuxt.config.js文件,新增如下:

  modules: [
    '@nuxtjs/style-resources'
  ],
  styleResources: {
    less: [
      './assets/less/variable.less',
      './assets/less/mixin.less',
    ]
  },

8. nuxt中引入全局css文件?
修改nuxt.config.js文件:

  /*
  ** Global CSS
  */
  css: [
    './assets/animation/animation.css'  // animation.css文件将会全局引入
  ],

9. nuxt中路由切换的过渡效果 transition?
(1)全局过渡效果设置,在全局css文件中添加样式:

.page-enter-active, .page-leave-active {
  transition: opacity .5s;
}
.page-enter, .page-leave-active {
  opacity: 0;
}

(2)给单独的页面设置过渡效果,则先需要加上css样式,然后再在页面中设置transition属性,如下所示:

.test-enter-active, .test-leave-active {
  transition: opacity .5s;
}
.test-enter, .test-leave-active {
  opacity: 0;
}
export default {
  transition: 'test'
}

10. nuxt中融合ESLint?
在实际项目开发中,经常会使用ESLint来规范代码格式,如果在初始化Nuxt时没有引入ESLint,那么需要后续手动引入一下,过程如下:
(1)先安装一些依赖,执行npm install babel-eslint eslint eslint-friendly-formatter eslint-loader eslint-plugin-vue --save-dev
(2)在package.json文件的scripts标签中添加如下代码:

"lint": "eslint --ext .js,.vue --ignore-path .gitignore ."

(3)在项目的根目录下新增.eslintrc.js.eslintignore文件。(详细配置省略)
(4)修改nuxt.config.js文件,新增如下(目的是扩展webpack配置):

  build: {
    /*
    ** Run ESLint on save
    */
    extend(config, { isDev, isClient }) {
      if (isDev && isClient) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/,
          options: {
            fix: true
          }
        })
      }
    }
  }

11. nuxt中融合vant框架?
在实际的项目中经常会用到一些UI框架,这里以vant举例,介绍nuxt如何引入vant UI框架:
(1)安装vant,执行:npm install vant --save
(2)在plugins文件夹下建一个vant.js文件,引入vant的css文件及相关组件,如下所示:

import Vue from 'vue'
import 'vant/lib/index.less'

import { Tabbar, TabbarItem, Toast, Button } from 'vant'
Vue.use(Tabbar).use(TabbarItem).use(Toast).use(Button)

(3)配置nuxt.config.js中的plugins,如下所示:

  plugins: [
    {
      src: '~/plugins/vant.js',
      ssr: false  // 因为是UI框架,所以可以不要服务端渲染
    }
  ],

相关文章

  • 本期小结(二)

    vue★ vue-ssr服务端渲染简单例子 vue-ssr服务端渲染框架Nuxt.js vue2.0仿饿了么web...

  • 第一个vue项目总结

    最近幸运的参与了公司m站重构项目,项目使用了nuxt、vant nuxt是基于vue的服务端渲染框架,服务端渲染有...

  • Nuxt element-ui Demo

    Nuxt官方指南 Nuxt.js 是一个基于 Vue.js 的通用应用框架。服务端渲染(SSR),提高首屏渲染速度...

  • 前端技术介绍

    Nuxt vue服务端渲染框架 Vue vue是构建用户界面的渐进式框架,自底向上增量开发,只关注视图层,简洁轻量...

  • Nuxt.js设置编译环境

    nuxt[https://www.nuxtjs.cn/guide] 是基于VUE的一款SSR(服务端渲染)框架 快...

  • 关于nuxt.js

    Nuxt.js官网 什么是Nuxt.js? nuxt.js是一个基于Vue.js的服务端渲染应用框架, 同于基于r...

  • Vue服务端渲染框架之Nuxt

    1. 什么是服务器端渲染?服务器端渲染:后端先调用数据库,获得数据之后,将数据和页面元素进行拼装,组合成完整的HT...

  • Vue SSR 项目 Nuxt.js 框架之《安装与创建》

    # 介绍 Nuxt.js 是一个基于Vue.js的通用应用框架,预设了利用Vue.js开发服务端渲染的应用所需要的...

  • nuxt express项目中使用中间件(serverMiddl

    Nuxt,作为一款优秀的基于Vue的服务端渲染(SSR)框架,既可以使用他的服务器渲染模式,也可以打包成静态页面,...

  • Nuxt 学习入门(1)—安装Nuxt

    Nuxt 是Vue服务端渲染,方便SEO。Nuxt.js 十分简单易用。一个简单的项目只需将 nuxt 添加为依赖...

网友评论

    本文标题:Vue服务端渲染框架之Nuxt

    本文链接:https://www.haomeiwen.com/subject/qijwxktx.html