学成在线-第12天-讲义-搜索前端 Nuxt.js 三

本文档介绍了如何使用 Nuxt.js 进行前端开发,包括通过模板工程创建项目,详细解析了Nuxt.js的目录结构,如assets、components、layouts、middleware、pages、plugins、static和store等,并阐述了页面布局的概念和实现方式。
摘要由CSDN通过智能技术生成

3 Nuxt.js基本使用
3.1 创建Nuxt工程 
nuxt.js有标准的目录结构,官方提供了模板工程,可以模板工程快速创建nuxt项目。
模板工程地址:https://github.com/nuxt-community/starter-template/archive/master.zip
本项目提供基于Nuxt.js的封装工程,基于此封装工程开发搜索前端,见资料--xc-ui-pc-portal.zip,解压xc-ui-pc-portal.zip到本项目前端工程目录下。
本前端工程属于门户的部分,将承载部分考虑SEO的非静态化页面。
本工程基于Nuxt.js模板工程构建,Nuxt.js使用1.3版本,并加入了今后开发中所使用的依赖包,直接解压本工程即可使用。
 
3.2 目录结构 
本工程的目录结构如下:

 
资源目录
资源目录 assets 用于组织未编译的静态资源如 LESSSASS 或 JavaScript。 
组件目录
组件目录 components 用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展增强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。
布局目录
布局目录 layouts 用于组织应用的布局组件。 
该目录名为Nuxt.js保留的,不可更改。
中间件目录
middleware 目录用于存放应用的中间件。 
页面目录
页面目录 pages 用于组织应用的路由及视图。Nuxt.js 框架读取该目录下所有的.vue 文件并自动生成对应的路由配置。
该目录名为Nuxt.js保留的,不可更改。
插件目录
插件目录 plugins 用于组织那些需要在 根vue.js应用 实例化之前需要运行的 Javascript 插件。
静态文件目录
静态文件目录 static 用于存放应用的静态文件,此类文件不会被 Nuxt.js 调用 Webpack 进行构建编译处理。 服务器启动的时候,该目录下的文件会映射至应用的根路径 下。
举个例子: /static/logo.png 映射至 /logo.png该目录名为Nuxt.js保留的,不可更改。
Store 目录
store 目录用于组织应用的 Vuex 状态树 文件。 Nuxt.js 框架集成了 Vuex 状态树 的相关功能配置,在 store 录下创建个 index.js 文件可激活这些配置。
该目录名为Nuxt.js保留的,不可更改。nuxt.config.js 文件nuxt.config.js 文件用于组织Nuxt.js 应用的个性化配置,以便覆盖默认配置。
该文件名为Nuxt.js保留的,不可更改。package.json 文件

package.json 文件用于描述应用的依赖关系和对外暴露的脚本接口。
该文件名为Nuxt.js保留的,不可更改。 

 
3.3 页面布局 
页面布局就是页面内容的整体结构,通过在layouts目录下添加布局文件来实现。在layouts 根目录下的所有文件都属于个性化布局文件,可以在页面组件中利用 layout 属性来引用。

一
个例子:
1、定义:layouts/test.vue布局文件,如下:
注意:布局文件中
一
定要加 <nuxt/> 组件用于显示页面内容。
<template>
<div>
<div>这里是头</div>
<nuxt/>
<div>这里是尾</div>
</div>
</template>
<script>
export default {
}
</script>
<style>
</style>
2、在pages目录创建user目录,并创建index.vue页面
在 pages/user/index.vue 页面里, 可以指定页面组件使用 test 布局,代码如下:
<template>
<div>
测试页面
</div>
</template>
<script>
export default{
layout:
'
test
'
}
</script>
<style>
</style>
3、测试,请求:http://localhost:10000/user,如果如下:
这里是头
测试页面
这里是尾

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为什么要学习服务端渲染 nuxt.js ? 现在我们的项目大多数都是SPA(单页面应用),在实际开发过程中单页面应用比之前的模板渲染要好很多,首先单页面应用是前后端分离,架构清晰,前端负责交互逻辑,后端负责数据,前后端单独开发,独立测试。但是,SPA不利于SEO(搜索引擎优化)。让搜索引擎更为信任该网站,通过提升排名获得更多网站流量,对于某些类型的网站是非常有必要的。目前大部分的Vue项目本质是 SPA 应用,React、Angular也都是SPA应用。SPA应用广泛用于对SEO要求不高的场景中。在我们开发的过程中,我们有 SEO 的需求,我们需要搜索引擎更多地抓取到我们的项目内容,此时我们需要SSR。SSR保证用户尽快看到基本的内容,也使得用户体验性更好。 Nuxt.js 是一个 Node 程序,基于vue.js开发的一套服务端渲染的框架,必须使用 Node 环境。我们对 Nuxt.js 应用的访问,实际上是在访问这个 Node.js 程序的路由,程序输出首屏渲染内容 + 用以重新渲染的 SPA 的脚本代码,而路由是由 Nuxt.js 约定好的 pages 文件夹生成的,开发只需要遵循一定的约定,直接使用vue.js开发我们项目也是非常轻松的。 课程案例 (1) HOME PAGE (2) Jokes Page  (3)About Page  课程概述 在本课程中,大喵将使用 nuxt.js + bootstrapVue + json-server 开发实战性质一个入门级项目,带着大家来体验服务端渲染(SSR )项目构建的过程;介绍 nuxt.js项目目录的结构,每个文件夹和文件的基本概念和作用,以及nuxt.config.js 配置文件的基本介绍;页面公共结构处理,路由页面跳转配置处理;axios 接口请求;带着大家来熟悉及掌握 bootstrapVue UI组件库的使用;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值