Vue.js通用应用框架-Nuxt.js的上手教程


Posted in Javascript onDecember 25, 2017

对于React,Vue构建的单页面应用老说,SEO是一个众所周知的问题。服务端渲染(SSR-server Side Render)是目前看来最好的解决办法。React应用有Next.js,对应Vue的解决方案就是Nuxt.js。

Vue.js通用应用框架-Nuxt.js的上手教程

1.简介

官网:https://nuxtjs.org/

GitHub:https://github.com/nuxt/nuxt.js

Nuxt.js 是什么?

Nuxt.js 是一个基于 Vue.js 的通用应用框架。

通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。

我们的目标是创建一个灵活的应用框架,你可以基于它初始化新项目的基础结构代码,或者在已有 Node.js 项目中使用 Nuxt.js。

Nuxt.js 预设了利用Vue.js开发服务端渲染的应用所需要的各种配置。

除此之外,我们还提供了一种命令叫:nuxt generate,为基于 Vue.js 的应用提供生成对应的静态站点的功能。

我们相信这个命令所提供的功能,是向开发集成各种微服务(microservices)的 Web 应用迈开的新一步。

作为框架,Nuxt.js 为 客户端/服务端 这种典型的应用架构模式提供了许多有用的特性,例如异步数据加载、中间件支持、布局支持等。

2.构建第一个Nuxt.js项目

推荐使用Nuxt提供的模板。假设你已经安装了vue-cli,如果没有安装请先执行npm install vue-cli -g来安装vue-cli。

$ vue init nuxt-community/starter-template <project-name>

进入到项目文件夹中安装依赖包。

cd <project-name>
npm install

启动项目。

npm run dev

打开浏览器,访问http://localhost:3000。就能看到Next渲染出来的页面了。

3.添加页面

新建完成的项目结构如下图所示:

Vue.js通用应用框架-Nuxt.js的上手教程

项目结构

Nuxt约定所有页面都放在pages文件夹下,Nuxt会根据目录结构自动生成对应的路由。

现在在pages下新建Vue文件test.vue,访问http://localhost:3000/test即可看到刚刚添加的页面。

4.引入第三方插件

通常情况下我们都需要引入第三方的插件,比如前段组件,日志等。
第一步当然是安装插件,此处以element-UI为例。

npm install element-ui

虽然下载了element-ui的包但是却不能像普通项目那样直接在Vue实例中import然后使用。Nuxt的内核项目都在.nuxt目录下,如果修改这下面的文件是不会生效的。因为每次编译都会重新生成文件,所以直接修改该项目文件是无效的。

Vue.js通用应用框架-Nuxt.js的上手教程

内核项目结构

虽然不能直接修改,但是Nuxt提供了特殊的方式引入第三方插件。

第一步,在pulgin文件夹下新建js文件element-ui.js。文件内容如下。

import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(Element)

第二步,修改nuxt.config.js。添加plugins属性。

/**
   * include third-party plugin
   */
  plugins: ['~plugins/element-ui'] // element-ui.js文件地址

重新编译之后,Nuxt会编译该第三方插件并使用。此时在任何一个Vue文件中都能使用该第三方插件。

5.静态资源文件

你可以把静态资源文件放到static文件夹下,然后就可以使用http://localhost:3000/<文件名>来访问静态资源文件。

Nuxt提供的功能还有很多,比如动态路由,ESLint代码检测。今天先介绍到这里,其他深入的用饭请参考官方网站。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Vue.js中数组变动的检测详解
Oct 12 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
Express URL跳转(重定向)的实现方法
Apr 07 Javascript
vue实现消息的无缝滚动效果的示例代码
Dec 05 Javascript
深入理解Promise.all
Aug 08 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
Sep 28 Javascript
js canvas实现写字动画效果
Nov 30 Javascript
微信小程序用户拒绝授权的处理方法详解
Sep 20 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 07 Javascript
js观察者模式的弹幕案例
Nov 23 Javascript
微信小程序录音与播放录音功能
Dec 25 #Javascript
利用vue + element实现表格分页和前端搜索的方法
Dec 25 #Javascript
VueRouter导航守卫用法详解
Dec 25 #Javascript
基于zTree树形菜单的使用实例
Dec 25 #Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 #jQuery
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
Dec 25 #Javascript
详解vue-cli之webpack3构建全面提速优化
Dec 25 #Javascript
You might like
php 生成饼图 三维饼图
2009/09/28 PHP
PHP入门学习笔记之一
2010/10/12 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
PHP中soap的用法实例
2014/10/24 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
Python实现的一个简单LRU cache
2014/09/26 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
python如何使用unittest测试接口
2018/04/04 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
linux环境下安装python虚拟环境及注意事项
2020/01/07 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
自荐书模板
2013/12/15 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
公益活动邀请函
2014/02/05 职场文书
租车协议书
2015/01/27 职场文书
涨价通知怎么写
2015/04/23 职场文书
个人催款函范文
2015/06/23 职场文书
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android