Nuxt 知识点
- 脚手架工具 create-nuxt-app 创建项目:
 
$ npx create-nuxt-app <项目名>
- 启动项目:
 
  To get started:
        cd nuxt_demo
        npm run dev
  To build & start for production:
        cd nuxt_demo
        npm run build
        npm start
- nuxt 命令介绍
命令列表 
    "scripts": {
        // 只查看不符合规范的代码
        "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
        // 查看并修正不符合规范的代码
        "lintfix": "eslint --fix --ext .js,.vue --ignore-path .gitignore .",
        "precommit": "npm run lint",
        // --watch server: 监控server目录下的更改
        "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
        // 利用webpack编译应用,压缩JS和CSS资源(发布用)
        "build": "nuxt build",
        // 以生产模式启动一个Web服务器 (nuxt build 会先被执行)
        "start": "cross-env NODE_ENV=production node server/index.js",
        // 编译应用,并依据路由配置生成对应的HTML文件 (用于静态站点的部署)
        "generate": "nuxt generate"
    },
在任何 Vue 组件的生命周期内, 只有 beforeCreate 和 created 这两个方法会在 客户端和服务端 被调用。其他生命周期函数仅在客户端被调用。
使用第三方模块:axios
我们可以在应用中使用第三方模块,一个典型的例子是在客户端和服务端使用 axios 做 HTTP 请求。
首先我们需要安装 npm 包:
npm install --save axios
然后,在页面内这样使用:
<template>
  <h1>{{ title }}</h1>
</template>
<script>
import axios from 'axios'
export default {
  async asyncData ({ params }) {
    let { data } = await axios.get(`https://my-api/posts/${params.id}`)
    return { title: data.title }
  }
}
</script>
注入 $root 和 context
有时您希望在整个应用程序中使用某个函数或属性值,此时,你需要将它们注入到Vue实例(客户端),context(服务器端)甚至 store(Vuex)。按照惯例,新增的属性或方法名使用$作为前缀。Window 或 Document 对象未定义?
这是因为一些只兼容客户端的脚本被打包进了服务端的执行脚本中去。 对于只适合在客户端运行的脚本,需要通过使用 process.client 变量来判断导入。
举个例子, 在你的 .vue 文件中:
if (process.client) {
  require('external_library')
}
同理,可以通过检测 process.server 这个变量来控制插件中的某些脚本库只在服务端使用。当值为 true 表示是当前执行环境为服务器中。
此外,可以通过检查 process.static 是否为true来判断应用是否通过 nuxt generator 生成。您也可以组合 process.server 和 process.static 这两个选项,确定当前状态为服务器端渲染且使用nuxt generate命令运行。
在使用 nuxt 的过程中,我们对一个界面的请求方式有两种。
- 从浏览器地址栏键入
 - 通过类似 router-link 的 a 标签点击跳转
当我们从浏览器的地址栏中键入一条请求时,请求被交给了 nuxt 服务器(或者 nginx→nuxt)。
nuxt 服务器解析 vue 组件(中的 asyncData 方法),并将数据绑定到 html,然后再返回给浏览器。
当我们通过点击 router-link 跳转时整个应用依旧是无刷新的单页应用,且会在 window.history 中键入记录。
https://learnku.com/articles/7767/nuxt-server-side-rendering-options 
Nuxt 知识点的更多相关文章
- 服务端预渲染之Nuxt (使用篇)
		
服务端预渲染之Nuxt - 使用 现在大多数开发都是基于Vue或者React开发的,能够达到快速开发的效果,也有一些不足的地方,Nuxt能够在服务端做出渲染,然后让搜索引擎在爬取数据的时候能够读到当前 ...
 - 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二七║ Nuxt 基础:框架初探
		
缘起 哈喽大家好,又是周四了,俗话说周四来了,周末还远么哈哈,老张我也想下周请假,来个16天的大长假哟,不知道大家是怎么请假的,近来发现文章下边已经没有人评论了,赶脚比较凄凉了,大家看到的麻烦点个赞呀 ...
 - 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二八║ Nuxt 基础:面向源码研究Nuxt.js
		
前言 哈喽大家周五好,又是一个开开心心的周五了,接下来就是三天小团圆啦,这里先祝大家节日快乐咯,希望都没有加班哈哈,今天公司发了月饼,嗯~时间来不及了,上周应该搞个活动抽中几个粉丝发月饼的,下次吧,这 ...
 - 从壹开始前后端分离 [ vue + .netcore 补程 ] 三十一║ Nuxt终篇:基于Vuex的权限验证探究
		
缘起 哈喽大家好,今天周四啦,楼主明天要正式放假了,这里先祝大家节日快乐咯,希望在家里能继续研究点儿东西吧,今天呢是 nuxt 的最后一篇,主要是对权限登录进行研究,这一块咱们之前在说第一个项目的时候 ...
 - Nuxt.js打造旅游网站第3篇_登录页面的编写
		
主要知识点: 1.使用vuex/store管理数据 2.登录注册逻辑 3.Nuxt的本地存储 1.登录页面 1.1登录页面布局 替换pages/user/login.vue的代码如下 <temp ...
 - ASP.NET Core 中的那些认证中间件及一些重要知识点
		
前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...
 - ASP.NET MVC开发:Web项目开发必备知识点
		
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
 - UWP开发必备以及常用知识点总结
		
一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...
 - C#高级知识点&(ABP框架理论学习高级篇)——白金版
		
前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...
 
随机推荐
- Spring boot2X集成zuul与consul实现负载均衡和反向代理
			
zuul 是netflix开源的一个API Gateway 服务器 所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序. 作为一个边界性质的应用程序,Zuul提供了动态路由.监控 ...
 - CentOS安装Hadoop
			
Hadoop的核心由3个部分组成: HDFS: Hadoop Distributed File System,分布式文件系统,hdfs还可以再细分为NameNode.SecondaryNameNode ...
 - scala 正则
			
package com.program import scala.util.matching.Regex object RegexTest { def main(args: Array[String] ...
 - html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案
			
html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案 大家都知道需要在点击时候后 播放 ps:如果点击ajax 回来播放也不行,必须点击立即播放 要背景自动播放只能采取下面方案< ...
 - Chartjs 简单使用  ------  制作sin  cos 折线图
			
Chart.js 一款简单干净的图表工具,基于html5 的Javascript. 可以用来制做条形,扇形,折线,混合等等的强大工具 图表要放在html 的 cancas 标签中 <canv ...
 - Springboot Actuator之十一:actuator transaction
			
前言spring boot 的自动化配置其实就是在spring 的基础上做的封装,在我们之前对mvc,aop的自动化配置中可以发现–> 只是在spring 的基础上添加了一些特性,可以认为只是一 ...
 - ipv4的ip字符串转化为int型
			
要求: 将现有一个ipv4的ip字符串(仅包含数字,点,空格), 其中数字和点之间的空格(至多一个)是合法的,比如“12 .3. 4 .62”,其他情况均为非法地址.写一个函数将ipv4地址字符串转化 ...
 - JDK安装及配置——Linux系统
			
一.首先下载JDK版本 链接如下:https://www.oracle.com/technetwork/java/javase/downloads/index.html 截止写博客时,最新版已经到12 ...
 - FusionInsight大数据开发学习总结(1)
			
FusionInsight大数据开发 FusionInsight HD是一个大数据全栈商用平台,支持各种通用大数据应用场景. 技能需求 扎实的编程基础 Java/Scala/python/SQL/sh ...
 - 使用Docker安装mysql,挂载外部配置和数据
			
.挂载外部配置和数据安装 mkdir /opt mkdir /opt/mysql mkdir /opt/mysql/conf.d mkdir /opt/mysql/data/ 创建my.cnf配置文件 ...