问题:最近有些朋友问我写官网,用Vue框架实现好不好?

相信很多使用Vue的小伙伴们一样疑惑这个问题,其实从这个问题就可以知道你对Vue这个框架是否真的熟悉了。其实单单使用Vue这个框架来做官网的,其实是不友好的,非常不利于SEO,抓取。因为Vue是通过把你的代码编译的,生成是SPA,里面的html其实是空的,Nuxt.js属于SSR,也就是服务器渲染。Nuxt.js打包生成的每个路由都会对应相对的html文件。有利于网站抓取,SEO。

Vue适合做对seo无关紧要的项目,别的项目不适合,但是Nuxt.js 正好就修补了Vue的这个缺陷。


官方解析:


Nuxt.js环境搭建和创建启动项目

做vue的小伙伴都知道vue-cli脚手架,其实vue-cli已经集成了nuxt.js,所以直接使用vue-cli就可以直接构建Nuxt.js项目了。直接在需要创建项目的路径新建文件夹,文件夹名为项目名称,其实就是和创建vue项目一样。然后在该文件下打开cmd,然后运行下面cmd命令

vue init nuxt/starter

成功创建如下图所示:

然后使用

npm install

下载依赖项,运行项目

npm run dev

此时项目已经运行成功,并且默认在3000端口打开。

浏览器预览:

很高兴告诉你,此时Nuxt.js项目已经创建并且启动成功。


Nuxt.js目录结构

assets                           // 资源目录
components // 组件目录
layouts // 布局目录
middleware // 中间件目录
pages // 页面目录
plugins // 插件目录
static // 静态文件目录
store // 状态管理器目录
nuxt.config.json // 个性化设置目录
package.json // npm包管理配置目录

Nuxt.js常用配置

1.配置主机和端口号

在nuxt.config.js里面追加下面内容

export default {
server: {
port: 8000, // default: 3000
host: '217.0.0.1', // default: localhost
},
}

然后npm run dev,这时候就可以在127.0.0.1:8000端口访问了。

2.配置全局样式

在nuxt.config.js里面追加下面内容

这里声明一下:“~”是Nuxt.js代表根目录的标识

export default {
css: ['~asstes/style.css'],
}

在assets文件夹里面创建style.css,添加内容如下:

html{
background-color: red;
}

然后npm run dev,此时你可以看到页面全部的页面的背景都已经变成红色。

Nuxt.js路由配置和传参

在pages里面创建news文件夹,然后在news文件夹下创建index.vue。

/pages/index.vue

<template>
<section class="container">
<div>
<div>首页</div>
<nuxt-link :to="{name: 'news'},params:{newsId: 1}">新闻</nuxt-link>
</div>
</section>
</template> <script> export default {
}
</script> <style>
</style>

/pages/news/index.vue

<template>
<section class="container">
<div>
<div>新闻页面</div>
<nuxt-link :to="{name: 'index'}">首页</nuxt-link>
   <div>新闻id:{{ $route.params.newsId}}</div>
</div> </section>
</template> <script> export default { } </script> <style> </style>

此时即刻完成首页和新闻业跳转,http://localhost:3000/http://localhost:3000/news,并且传参。

基于Vue的通用框架Nuxt.js的更多相关文章

  1. 基于Vue的Ui框架

    基于Vue的Ui框架 饿了么公司基于vue开的的vue的Ui组件库 Element Ui 基于vue pc端的UI框架 http://element.eleme.io/ MintUi 基于vue 移动 ...

  2. element-ui iview-admin 都是基于vue的ui框架

    element-ui iview-admin 都是基于vue的ui框架

  3. [vue] vue服务端渲染nuxt.js

    初始化 使用脚手架工具 create-nuxt-app 快速创建 npx create-nuxt-app <项目名> npx create-nuxt-app 执行一些选择 在集成的服务器端 ...

  4. 基于vue的UI框架集锦

    前端框架百花齐放.争奇斗艳,令人眼花缭乱.大神们一言不合就整一个框架出来,另小白们无所适从.下面罗列了一些比较优秀的UI框架,Star多的大都是老牌劲旅,Star少的许多是后起之秀. (1)Eleme ...

  5. 基于vue 的 UI框架 -- Mint UI

    网址: http://mint-ui.github.io/docs/#!/zh-cn 官网: http://mint-ui.github.io/#!/zh-cn vue2.0实例: http://bl ...

  6. 基于Vue的UI框架element el-table表格的自定义排序

    html部分: <el-table-column prop="phoneCache" label="手机缓存包编号" align="center ...

  7. react基础学习和react服务端渲染框架next.js踩坑

    说明 React作为Facebook 内部开发 Instagram 的项目中,是一个用来构建用户界面的优秀 JS 库,于 2013 年 5 月开源.作为前端的三大框架之一,React的应用可以说是非常 ...

  8. abp框架Excel导出——基于vue

    abp框架Excel导出--基于vue 目录 abp框架Excel导出--基于vue 1.技术栈 1.1 前端采用vue,官方提供 1.2 后台是abp--aspnetboilerplate 2. E ...

  9. Nuxt.js笔记

    前置知识 SSR服务器渲染 Vue SSR(server side rendering)服务端渲染 和 Vue SPA(single page application)单页应用 Vue SSR-> ...

随机推荐

  1. EasyUI之combogrid

    html代码: <div class="item-label">@Html.L("Name"):</div> <input id= ...

  2. 为什么360、百度、腾讯出的Mac端云盘客户端都只有同步盘?(用户量小,同步盘开发成本低,Linux下都没有客户端)

    如题,顾名思义,同步盘是用来同步的,不具备增量的功能,像这三家在Windows端出的客户端都是即有同步也有增量的. 陆续出来的,可能大家更多的是跟随策略,不得不提dropbox是这样的形式.mac电脑 ...

  3. Android零基础入门第74节:Activity启动和关闭

    上一期我们学习了Activity的创建和配置,当时留了一个悬念,如何才能在默认启动的Activity中打开其他新建的Activity呢?那么本期一起来学习如何启动和关闭Activity. 一.概述 经 ...

  4. 网站运行编译器错误CS1617: 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default

    运行winform程序时提示, CS1617: 选项“6”对 /langversion 无效:必须是 ISO-1.ISO-2.3.4.5 或 Default 找到网站的web.config配置文件,找 ...

  5. C++&Win32写的空当接龙

    上学期做课程设计,老师让我做windows自带的空当接龙游戏,写了一个礼拜,完全仿windows的呵呵.不过也不全一样,有一些细节一直没有时间弄,没办法最近比较懒... 与windows下的相比,我做 ...

  6. 记一次 qW3xT.4,解决挖矿病毒。

    最近感觉我的服务器特别卡,打开数据库都半天,刚开始以为网咯不好也没太在意. 利用top命令: 这时候问题出来了,最高cpu占用100%,那我用啥??? 根据进程id 一看究竟,ps -ef|grep ...

  7. 基于Bert的文本情感分类

    详细代码已上传到github: click me Abstract:    Sentiment classification is the process of analyzing and reaso ...

  8. Linux上整数和浮点数的运算

    一:shell中对整数和浮点数的运算     常用的运算符号         加法+    减法 -     乘法*     除法/     求余%              +=        -= ...

  9. 留存: struts2+jquery+json集成

    原文地址:struts2+jquery+json集成 以下采用struts2+jquery+json模拟一个案例.当点击提交按钮时会把输入的数据提交到后台,然后从后台获取数据在客户端显示. 效果如下: ...

  10. SpringBoot从入门到精通一(idea优雅搭建SpringBoot项目)

    前言 在没有SpringBoot之前,我们搭建的是SSM(SpingMVC+Spring+Mybatis)项目,在搭建SSM项目的时候,我们要经过一系列的繁琐配置,例如:application,web ...