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 相关文章推荐
javascript new一个对象的实质
Jan 07 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
Dec 17 Javascript
用json方式实现在 js 中建立一个map
May 02 Javascript
javascript中的正则表达式使用指南
Mar 01 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
Dec 15 Javascript
解析Node.js异常处理中domain模块的使用方法
Feb 16 Javascript
js严格模式总结(分享)
Aug 22 Javascript
Javascript 调用 ActionScript 的简单方法
Sep 22 Javascript
BOM之navigator对象和用户代理检测
Feb 10 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
Vue脚手架编写试卷页面功能
Mar 17 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 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
php查询及多条件查询
2017/02/26 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
基于JS实现视频上传显示进度条
2020/05/12 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
Python 使用多属性来进行排序
2019/09/01 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
高中生自我鉴定范文
2013/10/30 职场文书
2014年财政局工作总结
2014/12/09 职场文书
演讲开场白和结束语
2015/05/29 职场文书
检讨书范文
2019/04/16 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis