nuxt相关问题

1、nuxt中使用element-ui 相关配置

1、首先在nuxt.config.js中配置如下:
```
vender:[
‘element-ui‘
],
babel:{
"plugins": [["component", [
{
"libraryName": "element-ui",
"styleLibraryName": "theme-default"
},
‘transform-async-to-generator‘,
‘transform-runtime‘
]]],
comments: true
},
plugins: [
{ src: ‘~plugins/element-ui‘, ssr: true }
],
css: [
// 有些说全部引用的时候需要用到,在我使用过程中不管全局引用还是部分引用都是要配置,否则样式不生效,可能哪里还没配置好,但是写了一定会有效;
// ‘element-ui/lib/theme-default/index.css‘
]
```
2、在plagins目录下新建element-ui.js,引入vue
```
import Vue from ‘vue‘

// 全部引用,此时需要在nuxt.config.js中设置css
// if (process.BROWSER_BUILD) {
// Vue.use(require(‘element-ui‘))
// }
```
3、在组件中使用

```
//备注:借鉴别人的写法
import { Button } from ‘element-ui‘
Vue.component(Button.name, Button)

//自己的用法
<template>
<div class=‘box‘>
<el-pagination
layout="prev, pager, next"
:total="1000">
</el-pagination>
</div>
</template>
<script>
import { Pagination } from ‘element-ui‘
export default{
components:{
el-pagination:Pagination
}
}
</script>
```
2、在组件中使用了element-ui框架,swiper插件,修改其样式无效问题
直接写一对style标签,不加scoped属性,然后用一个组件最外层的class包裹住,就不会改到所有的组件的样式了。
```
//注意:修改样式时是修改生成的标签,而不是所写的标签。
<style lang=‘scss‘>
.box{
li {
color:red;
}
}
</style>
```
 3、在nuxt使用swiper实现轮播
1、下载使用
```
npm install vue-awesome-swiper --save
```

2、在plugins文件夹下新建文件swiper.js
```
import Vue from ‘vue‘
import VueAwesomeSwiper from ‘vue-awesome-swiper/ssr‘

Vue.use(VueAwesomeSwiper)
```
3、在nuxt.config.js里面配置
```
module.exports = {
// some nuxt config...
plugins: [
{ src: ‘~/plugins/swiper.js‘, ssr: false },
],
// some nuxt config...
css: [
‘swiper/dist/css/swiper.css‘
],
// some nuxt config...
}
```
4、在组件内使用
```
<template>
<div v-swiper:mySwiper="swiperOption">
<div class="swiper-wrapper">
<!--<div class="swiper-slide" v-for="banner in banners">
<img :src="banner">
</div>-->
<div class="swiper-slide">
<img src="~assets/images/index/jpg201682385425.jpg">
</div>
<div class="swiper-slide">
<img src="~assets/images/index/jpg201692291653.jpg">
</div>
<div class="swiper-slide">
<img src="~assets/images/index/jpg201732492252.jpg">
</div>
</div>
<div class="swiper-pagination swiper-pagination-bullets bullets bullets-active point-style"></div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</template>

<script>
export default {
data() {
return {
banners: [],
swiperOption: {
autoplay: 3000,
loop: true,
pagination: ‘.swiper-pagination‘,
paginationClickable: true,
nextButton: ‘.swiper-button-next‘,
prevButton: ‘.swiper-button-prev‘,
effect: ‘fade‘,
paginationModifierClass:‘banner-‘
}
}
},
mounted() {
this.getBannerList()
},
methods: {
getBannerList () {
}
}
}
</script>

<style scoped>
.swiper-button-prev {
position: absolute;
left: 0;
top: 50%;
margin-top: -25px;
width: 45px;
height: 60px;
background: url(~assets/images/common/banner_e.png) 0 0 no-repeat;
filter: alpha(opacity=50);
opacity: 0.5;
display: block;
}

.swiper-button-next {
left: auto;
right: 0;
top: 50%;
position: absolute;
margin-top: -25px;
width: 45px;
height: 60px;
background: url(~assets/images/common/banner_f.png) 0 0 no-repeat;
filter: alpha(opacity=50);
opacity: 0.5;
display: block;

}
</style>
<style lang="scss">
.point-style{
.swiper-pagination-bullet{
width: 9px;
height: 9px;
border-radius: 50%;
background: rgba(0,0,0,0.3);
}
.swiper-pagination-bullet-active{
background: #FD7045;
width: 9px;
height: 9px;
border-radius: 50%;
}
}
</style>
```

时间: 2024-10-13 11:47:30

nuxt相关问题的相关文章

vue总结的知识点

1.Vue生命周期钩子,都是干嘛用的? Vue实例从创建到销毁的过程,就是生命周期.Vue的生命周期包括:开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程.在Vue的整个生命周期中,提供了一系列的事件,可以注册JavaScript方法,达到控制整个过程的目的,在这些JavaScript方法中的this直接指向的是vue的实例.在Vue的整个生命周期中,实例可以调用一些生命周期钩子,这提供了执行自定义逻辑的机会.Vue提供的生命周期钩子如下:① beforeCreat

这可能是目前最新的 Vue 相关开源项目库汇总(转)

访问地址:https://juejin.im/entry/58bf745fa22b9d0058895a58 原文链接:https://github.com/opendigg/awesome-github-vue awesome-github-vue 是由OpenDigg整理并维护的Vue相关开源项目库集合.我们会定期同步OpenDigg上的项目到这里,也欢迎各位提交项目给我们. 如果收录的项目有错误,可以通过issue反馈给我们.这里的项目Star数不是实时更新的,一般是一周更新一次. UI组件

基于vue2+nuxt构建的高仿饿了么(2018版)

前言 高仿饿了么,以nuxt作为vue的服务端渲染,适合刚接触或者准备上vue ssr的同学参考和学习 项目地址如遇网络不佳,请移步国内镜像加速节点 效果演示 查看demo请戳这里(请用chrome手机模式预览) 移动端扫描下方二维码 API接口文档 接口文档地址(基于apidoc) 技术栈 vue2 + vuex + vue-router + mint-ui + nuxt 项目运行 git clone [email protected]:EasyTuan/nuxt-elm.git # 国内镜像

nuxt实践

利用手脚架搭起来的服务端渲染实例目录结构.nuxtassets 未编译的静态资源如 LESS.SASS 或 JavaScriptcomponents 用于组织应用的 Vue.js 组件middleware 目录用于存放应用的中间件pages 用于组织应用的路由及视图.Nuxt.js 框架读取该目录下所有的 .vue文件并自动生成对应的路由配置.plugins 用于组织那些需要在 根vue.js应用 实例化之前需要运行的 Javascript 插件静态文件目录 static 用于存放应用的静态文件

Nuxt.js开启SSR渲染

第一节:nuxt.js相关概述 nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).Vue.js是开发SPA(单页应用)的,Nuxt.js这个框架,用Vue开发多页应用,并在服务端完成渲染,可以直接用命令把我们制作的vue项目生成为静态html. 1.那服务器端渲染到底有什么好处呢? 主要的原因时SPA(单页应用)不利于搜索引擎的SEO操作,Nuxt.js适合作新闻.博客.电影.咨询这样的需要搜索引擎提供流量的项目.如果你要作移动端的项目,就没必要使用这个框

1.nuxt是什么?

百度了解下,简单说就是vue的seo化,因为vue是spa,不支持seo,从本地运行的源码可以看出来,html没有tkd和相关文字,导致百度收录困难,所以nuxt可以很好的解决这个问题, 举个例子:纯vue的: 从mingyou.com的源码和网络请求可以看出,nuxt把你需要被seo收录的都展现出来了 Vue+Nuxt之后的: nuxt一些成熟商用: [华尔街见闻]:https://wallstreetcn.com/[掘金]:https://juejin.im/[大搜车]: https://e

解析Nuxt.js Vue服务端渲染摸索

本篇文章主要介绍了详解Nuxt.js Vue服务端渲染摸索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Nuxt.js 十分简单易用.一个简单的项目只需将 nuxt 添加为依赖组件即可.Vue因其简单易懂的API.高效的数据绑定和灵活的组件系统,受到很多前端开发人员的青睐.国内很多公司都在使用vue进行项目开发,我们正在使用的简书,便是基于Vue来构建的.我们知道,SPA前端渲染存在两大痛点:(1)SEO.搜索引擎爬虫难以抓取客户端渲染的

服务端预渲染之Nuxt - (爬坑篇)

Nuxt是解决SEO的比较常用的解决方案,随着Nuxt也有很多坑,每当突破一个小技术点的时候,都有很大的成就感,在这段时间里着实让我痛并快乐着.在这里根据个人学习情况,所踩过的坑做了一个汇总和总结. Nuxt开发跨域 项目可以使用Nginx来反向代理,将外来的请求(这里也注意下将Linux的防火墙放行相应端口)转发的内部Nuxt默认的3000端口上,最简单的配置文件如下: nuxtjs.config.js { modules: [ '@nuxtjs/axios', '@nuxtjs/proxy'

Nuxt.js知识点

起源 最主要的原因时使用vue-cli搭建的SPA(单页应用)不利于搜索引擎的SEO操作.搜索引擎对SPA的抓取并不好,特别是百度根本没法抓取到SPA的内容页面,所以我们必须把我们的应用在服务端渲染成适合搜索引擎抓取的页面,再下载到客户端. Nuxt.js是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).再直白点说,就是Vue.js原来是开发SPA(单页应用)的,但是随着技术的普及,很多人想用Vue开发多页应用,并在服务端完成渲染.这时候就出现了Nuxt.js这个框架,她简化了