vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件

vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件

欢迎加入前端交流群来获取视频资料以及前端学习资料:749539640


              转载文章请注明出处!               

如果只是要使用轮播效果的话可以参考下一些vue组件;比如这篇文章

--------2019.7.9------------------

请参考swiper官方插件:https://github.com/surmon-china/vue-awesome-swiper

--------2019.7.9------------------

方法一:( 请先使用这种方法;更新于2018-05-14)

下载swiper:

npm install swiper --save-dev

swiper4.0使用入口:http://www.swiper.com.cn/usage/index.html

html:

<div class="swiper-container">
   <div class="swiper-wrapper">
       <div class="swiper-slide">Slide 1</div>
       <div class="swiper-slide">Slide 2</div>
       <div class="swiper-slide">Slide 3</div>
   </div>
   <!-- 如果需要分页器 -->
   <div class="swiper-pagination"></div>
   
   <!-- 如果需要导航按钮 -->
   <div class="swiper-button-prev"></div>
   <div class="swiper-button-next"></div>
   
   <!-- 如果需要滚动条 -->
   <div class="swiper-scrollbar"></div>
</div>

在需要使用swiper的组件里引入swiper,swiper的初始化放在mounted里(可以把官网例子的启动 var mySwiper = 删掉);

js:

<script>
import Swiper from 'swiper';
export default {
 name: 'HelloWorld',
 data () {
   return {
     msg: 'Welcome to Your Vue.js App'
   }
 },
 mounted(){
    new Swiper ('.swiper-container', {
   loop: true,
   // 如果需要分页器
   pagination: '.swiper-pagination',
   // 如果需要前进后退按钮
   nextButton: '.swiper-button-next',
   prevButton: '.swiper-button-prev',
   // 如果需要滚动条
   scrollbar: '.swiper-scrollbar',
 })        
 }
}
</script>

css:

在main.js里引入css

  import Vue from 'vue'
  import 'swiper/dist/css/swiper.css';

然后我们在用到swiper的组件里写点样式

<style scoped>
 .swiper-container {
        width: 500px;
        height: 300px;
        margin: 20px auto;
    }
</style>

-----------------------------------我是分割线-----------------------------------------------------------

方法二:(以下是2017年10月写的,废弃)

1.安装vue-cli

参考地址:https://github.com/vuejs/vue-cli

如果不使用严格语法需要在后三项打no;(加了挺头疼的,老是报错,但是对自己的代码规范性也是有很大的帮助的)

2.swiper下载示例代码

参考地址:http://www.swiper.com.cn/usage/index.html

一:单个组件使用:

3.在刚下载好的vue-cli里的helloworld.vue进行代码编写。

##### 3.1html部分:

 1 <template>
 2   <div class="hello">
 3     <div class="swiper-container">
 4     <div class="swiper-wrapper">
 5         <div class="swiper-slide">Slide 1</div>
 6         <div class="swiper-slide">Slide 2</div>
 7         <div class="swiper-slide">Slide 3</div>
 8     </div>
 9     <!-- 如果需要分页器 -->
10     <div class="swiper-pagination"></div>
11     
12     <!-- 如果需要导航按钮 -->
13     <div class="swiper-button-prev"></div>
14     <div class="swiper-button-next"></div>
15     
16     <!-- 如果需要滚动条 -->
17     <div class="swiper-scrollbar"></div>
18 </div>
19   </div>
20 </template>

#### 3.2 js部分:

这里使用import引入swiper.js文件;

swiper的启动放在mounted里执行;

<script>
import'../assets/js/swiper.min.js'
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  },
  mounted(){
     var mySwiper = new Swiper ('.swiper-container', {
    loop: true,
    // 如果需要分页器
    pagination: '.swiper-pagination',
    // 如果需要前进后退按钮
    nextButton: '.swiper-button-next',
    prevButton: '.swiper-button-prev',
    // 如果需要滚动条
    scrollbar: '.swiper-scrollbar',
  })        
  }
}
</script>

##### 3.3css部分:

 1 <style scoped>
 2 @import'../assets/css/swiper.min.css';
 3     body {
 4         margin: 0;
 5         padding: 0;
 6     }
 7     .swiper-container {
 8         width: 500px;
 9         height: 300px;
10         margin: 20px auto;
11     }
12    
13 
14     </style>

4.看似大工告成,这时候会报错:

Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

这个错误查文档说是:

在webpack打包的时候,可以在js文件中混用require和export。但是不能混用import 以及module.exports。

因为webpack 2中不允许混用import和module.exports

我们只需要吧.babelrc文件里的第11行代码插件项"plugins": ["transform-runtime"],中的transform-runtime删掉即可;

 1 {
 2   "presets": [
 3     ["env", {
 4       "modules": false,
 5       "targets": {
 6         "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
 7       }
 8     }],
 9     "stage-2"
10   ],
11   "plugins": [],
12   "env": {
13     "test": {
14       "presets": ["env", "stage-2"],
15       "plugins": ["istanbul"]
16     }
17   }
18 }

5.好了问题解决;

二:全局使用:

6.当然也可以全局使用swiper;代码如下;

还是在刚才的helloworld.vue进行代码编写;只是去掉js和css文件的引入!

helloworld.vue代码:

 1 <template>
 2   <div class="hello">
 3     <div class="swiper-container">
 4     <div class="swiper-wrapper">
 5         <div class="swiper-slide">Slide 1</div>
 6         <div class="swiper-slide">Slide 2</div>
 7         <div class="swiper-slide">Slide 3</div>
 8     </div>
 9     <!-- 如果需要分页器 -->
10     <div class="swiper-pagination"></div>
11     
12     <!-- 如果需要导航按钮 -->
13     <div class="swiper-button-prev"></div>
14     <div class="swiper-button-next"></div>
15     
16     <!-- 如果需要滚动条 -->
17     <div class="swiper-scrollbar"></div>
18 </div>
19   </div>
20 </template>
21 
22 <script>
23 
24 export default {
25   name: 'HelloWorld',
26   data () {
27     return {
28       msg: 'Welcome to Your Vue.js App'
29     }
30   },
31   mounted(){
32      var mySwiper = new Swiper ('.swiper-container', {
33     loop: true,
34     // 如果需要分页器
35     pagination: '.swiper-pagination',
36     // 如果需要前进后退按钮
37     nextButton: '.swiper-button-next',
38     prevButton: '.swiper-button-prev',
39     // 如果需要滚动条
40     scrollbar: '.swiper-scrollbar',
41   })        
42   }
43 }
44 </script>
45 
46 <!-- Add "scoped" attribute to limit CSS to this component only -->
47 <style scoped>
48 
49     body {
50         margin: 0;
51         padding: 0;
52     }
53     .swiper-container {
54         width: 500px;
55         height: 300px;
56         margin: 20px auto;
57     }
58    
59 
60     </style>

main.js文件代码:

常见报错解决:

Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

.babelrc文件里的插件项"plugins": ["transform-runtime"],中的transform-runtime删掉即可;

Image placeholder
MRWang
未设置
  80人点赞

没有讨论,发表一下自己的看法吧

推荐文章
vue脚手架是什么?

vue-cli是什么vue-cli是有Vue提供的一个官方cli,专门为单页面应用快速搭建繁杂的脚手架。它是用于自动生成vue.js+webpack的项目模板,是为现代前端工作流提供了batterie

js中如何引入css文件以及路径问题

js中如何引入css文件以及路径问题一、在js中引入css文件的方法:1、通过document.createElement方法创建link标签;2、通过setAttribute方法设置link标签的c

js如何引入css文件?

js如何引入css文件?1、使用document.write方式输出引入css的link标签在调用文件的顶部加入下例代码 document.write(''); (注:有时你引用的文件还可能需要引用其

引入css文件不起作用?

引入css文件不起作用?按F12查看开发者工具中显示,有common.css,但是页面上的样式却没有改变,代码如下: Vue介绍 ... 解决方法:加了rel属性后就好了,rel是关联的意

dw中如何插入css文件?

DW全称AdobeDreamweaver,中文名称"梦想编织者",最初为美国MACROMEDIA公司开发[1],2005年被Adobe公司收购。DW是集网页制作和管理网站于一身的所见即所得网页代码编辑

vue引入图片问题

一、img标签二、scss文件通过在vue文件引入scss样式文件 @import"./scss/index.scss"; 如果scss文件有引入背景图片,这里不能使用相对路径了,需要使用~开头的方式

vue项目开发必须要搭脚手架么?

vue是一个渐进式的前端框架,渐进式也就意味着你可以在使用过程中,引入自己需要的一系列外部资源。这也就意味着,你可以自己搭建自己的框架,如果不用vue-cli,你可以自己搭建开发框架,需要vuex、需

jsp怎么引入css样式?

JSP页面引入CSS样式有三种方法,且其优先级不同。具体如下:外部样式,内嵌样式,行内样式。优先级依次增高!下面给大家具体介绍一下:1、外部样式jsp可以在link标签中使用href属性引入css文件

全局安装react脚手架在哪装?

全局安装react脚手架在哪装?全局安装react脚手架在任何目录下都可以,因为和当前所在目录没有关系。一、全局安装react脚手架npminstall-gcreate-react-app -g参数表

基于ApiBoot的前后分离演示脚手架诞生了~

知识改变命运,撸码使我快乐,2020继续游走在开源界点赞再看,养成习惯给我来个Star吧,ApiBootAdmin源码仓库:https://gitee.com/minbox-projects/api-

如何实现一个有趣的Java脚手架

课程推荐:Java开发工程师--学习猿地--送7个上线商业项目 新建应用面临的问题在实际项目来发中,当我们创建一个新应用时,大概会遇到哪些问题? 创建应用过程比较繁琐,很多内容其实都是类似的,但就是得

HTML怎样引入jQuery?

HTML怎样引入jQuery?jquery的引入方式有两种,一种是本地引入,一种是引入在线jquery。相关专题推荐:《jQuery教程》方式一:本地引入(这种方法要求本地有jquery.js):我们

link标签引入css不起作用怎么办?

link标签引入css不起作用怎么办?1、使用link标签引用CSS:2、link无效的问题:●原因多数是css路径写的不正确。路径分为相对路径和绝对路径。如果是相对路径要仔细检查路径是否和文件相对应

mysql5.7 General tablespace使用说明

GeneraltablespaceGeneraltablespace 是一种共享的 innodb 表空间,有点类似 ibdata1 。可以在一个表空间数据文件下存储多张表,即使这些表来自不同的 sch

Hyperf 框架使用 JWT 进行用户认证

配置上一篇文章中我们已经安装好phper666/jwt-auth组件,并发布了配置。配置文件config/autoload/jwt.php已经有详细配置说明,如果要改默认设置,只需要在.env文件中加

java-forkjoin框架使用和一些原则

先扯一波使用两个demo解决使用RecursiveAction无状态任务拆分(无返回值状态)注意几个点 awaitQuiescence是监控这个forkjoin是否都完成 awaitTerminati

nginx找不到js css文件怎么办

nginx找不到jscss文件怎么办js、css都算静态资源,之所以请求不到是因为nginx做代理后的虚拟路径和静态资源的请求路径不一致导致的。只需要更改root的配置就可以了。设置location如

如何合并多个js和css文件?

如何合并多个js和css文件?(1)G.js文件~function(){ window.G={}; G.Method={ add:function(){ alert(111); }, sub:func

怎么在html中加入css样式

html添加css样式有三种方法,分别为行内式(使用style属性,在特定的HTML标签内使用)、内嵌式(style标签把css代码放在特定页面的head部分中)、外联式(使用link标签,将外部cs

怎么载入css样式?

1.行内式行内式也称内联样式,是通过标记的Istyle属性来设置标记的样式,其基本语法格式如下:

html如何导入css

html如何导入css1、使用链接式(推荐学习:HTML视频教程)2、使用导入式 @import"style.css" 扩展资料:二者的区别导入式和链接式的目的都是将一个独立的css文件引入一个文件中

jquery判断css文件是否存在?

jquery判断css文件是否存在?主要使用了ajax,通过请求css资源文件,根据http状态码来进行判断。状态码为200则存在,为404则不存在。检测 $("#btn").click(func

html找不到css文件怎么解决

html找不到css文件怎么解决如果你在引用css文件时,使用了错误的文件路径,就会导致引用失效。解决方法就是填写正确的css文件路径。下面我们学习下HTML填写路径的两种方法。(推荐学习:HTML视

css文件放在哪个目录

css文件放在哪个目录css文件放在项目目录下的任何一个目录都可以,但是为了项目目录规范整洁,我们通常是放在css目录下。不同的框架放置的位置也不同。可以按照框架的规范来。下面给出一份web项目目录参

css文件放在项目哪里?

css文件放在项目哪里?css文件一般放在项目目录的css文件夹中,也可以根据框架要求放在不同的位置,例如react中,一个React组件一般就是一个文件夹,将相应的js和css文件放在组件文件夹即可