• 脚手架工具 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
    "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 的过程中,我们对一个界面的请求方式有两种。

  1. 从浏览器地址栏键入
  2. 通过类似 router-link 的 a 标签点击跳转

    当我们从浏览器的地址栏中键入一条请求时,请求被交给了 nuxt 服务器(或者 nginx→nuxt)。

    nuxt 服务器解析 vue 组件(中的 asyncData 方法),并将数据绑定到 html,然后再返回给浏览器。

    当我们通过点击 router-link 跳转时整个应用依旧是无刷新的单页应用,且会在 window.history 中键入记录。

    https://learnku.com/articles/7767/nuxt-server-side-rendering-options

最新文章

  1. Python 五个常用模块资料 os sys time re built-in
  2. SPARK SQL 中registerTempTable与saveAsTable的区别
  3. greenplum如何激活,同步,删除standby和恢复原始master
  4. 20145120 《Java程序设计》实验二实验报告
  5. 一步一步学NUnit
  6. [原博客] POI系列(2)
  7. Linux IO 调度器
  8. 第24篇 js小知识和“坑”
  9. Asp.Net 常用工具类之加密——非对称加密RSA算法
  10. [luogu P3953] [noip2017 d1t3] 逛公园
  11. 近几年ACM/ICPC区域赛铜牌题
  12. 如何对MongoDB 3.2.7进行用户权限管理配置
  13. 大数据离线分析平台 JSSDK数据收集引擎编写
  14. C#多线程更新,查询MongoDB数据
  15. jquery动态加载js/css文件方法
  16. [AWS vs Azure] 云计算里AWS和Azure的探究(3)
  17. 如何在Web.config中注册用户控件和自定义控件
  18. ntpdate设置
  19. C语言简易三子棋
  20. IntelliJ Idea各种技巧设置笔记和错误解决

热门文章

  1. kali 触摸板手势之fusuma
  2. 从有序矩阵M x N中找出是否包含某一个数,要求时间复杂度为O(M+N)
  3. [转帖]Druid介绍及入门
  4. C++随机数笔记
  5. HTTP协议小记
  6. 剑指offer之面试题2:实现Singleton模式
  7. Linux下搭建keepalive+nginx
  8. 由一个空工程改为SpringBoot工程
  9. Django:RestFramework之-------认证
  10. 阿里熔断限流Sentinel研究