从零开始学习nuxt,vue服务端渲染SSR

477 阅读2分钟

刚入职,老大问我知不知道服务端渲染SSR,我说不知道,然后就扔给我了两个链接让我看看,贴地址:

VueSSR:https://vuejs.org/guide/quick-start.html#with-build-tools NUXTJS:https://www.nuxtjs.cn/guide

注意事项: 1.需要Node.js server 运行环境, 高流量的情况下,请准备相应的服务器负载,并明智地采用缓存策略.

2.服务端没有window、document对象,判断客户端才执行if(process.browser){ console.log(window); }

3.引用npm包,带有dom操作的不能用 import 的方式

4.要将 v-if 改为 v-show 语法

5.方法会在组件(限于页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用

搭建项目

参考我的文章:使用NUXT框架搭建vue项目

目录

目录长这样

微信截图_20220302180617.png

.nuxt是 nuxt的一些配置

components是一些组件,引入方式正常使用无需改变,虽然直接放在components下级的组件不用使用import也可以用,但是不推荐。

pages 就是放页面的地方

static 静态资源 不会被 Nuxt.js 调用 Webpack 进行构建编译处理。服务器启动的时候,该目录下的文件会映射至应用的根路径 / 下

assets 用于组织未编译的静态资源如 img、css 或 js

store VUEX就在这儿了

nuxt.config.js 项目的一些配置在这里

stylus 踩坑

使用

yarn add --save-dev stylus-loader stylus

// nuxt.config.js
  modules: [
    "@nuxtjs/style-resources",
  ],
  
  // 全局css文件引用
  css: [
    "element-ui/lib/theme-chalk/index.css",
    "@/static/css/reset.styl",
    "@/static/css/element.styl",
  ],
  
  // 页面内使用
  <style lang="stylus" scoped> </style>

正常安装 stylus 使用后会报css错误,这个是stylus和stylus-loader的兼容性问题,在package.json 中,修改stylus-loader,

 "devDependencies": {
    "@nuxtjs/proxy": "^2.1.0",
    "@nuxtjs/style-resources": "^1.2.1",
    "eslint-config-prettier": "^8.3.0",
    "prettier": "^2.5.1",
    "stylus": "^0.56.0",
    "stylus-loader": "^3.0.2"
  }

然后重新 yarn 一下,再启动就好了

路由使用

参考我的文章:nuxt 路由跳转

环境搭建

参考我的文章:nuxt 多环境配置

axios接口使用

参考我的文章:nuxt axios接口配置及使用和跨域处理

cookie使用

参考我的文章:nuxt cookie使用

store的使用

参考我的文章:nuxt store的使用

element主题使用

待更新