swiper4以上在ios11以下报错: SyntaxError: Cannot declare a let variable twice: 't'. /static/js/vendor.a58302

1 篇文章 0 订阅

vue打包时报错

报错解决是引入swiper4的原因,

解决方式一:降低swiper的版本,可以用3.4.2

但是swiper和swiper4之间的区别挺大,这样子改又要去看swiper3的api,重新调整代码,诸多不便。

解决方式二:

原本的引入方式是在组件中引入:

import Swiper from 'swiper'
import 'swiper/dist/css/swiper.min.css'

修改成:

import Swiper from "swiper/dist/js/swiper.js"
import 'swiper/dist/css/swiper.min.css'

原因可能是直接import 会把未编译的东西,也打包进去,就去出现问题,库封装的有一些问题,还有的就是苹果ios版本的问题

=========================== 2019/12/27更 ============================= 

使用swiper5的时候在ios11以下的手机上白屏,调试后,发现是报错:

Unexpected token: name (Dom7) [./node_modules/dom7/dist/dom7.modular.js:16,0][static/js/2.262bbb49a2

一开始同事说白屏的时候,还没想起来自己之前遇到过这个,后面再找问题的时候,找到了一些解决方法,问题似曾相识(-_-||),下面找到了其他人的博客的内容,记一下多个方法,哈哈

原文地址:Vue.js 使用 Swiper.js 在 iOS < 11 时出现错误

原因:

Swiper.js 这个 npm 包里面还使用了 dom7 和 ssr-window,所以需要对这两个插件进行 Babel 转 ES5

解决方案

Vue CLI 2.x 下,在 build/webpack.base.config.js 文件中修改

// ...
modules: {
  rules: [
  // ...
  {
    test: /.js$/,
    loader: 'babel-loader',
    include: [
      resolve('src'), 
      resolve('test'),
      resolve('node_modules/swiper/dist/js/'),
      resolve('node_modules/webpack-dev-server/client'),
      // 新增
      resolve('node_modules/swiper'),
      resolve('node_modules/dom7'),
      resolve('node_modules/ssr-window')
    ]
   },
  // ...
  ]
}
// ...

Vue CLI 3.x 下

在 vue.config.js 中增加 transpileDependencies 配置

module.exports = {
  transpileDependencies: [
    "swiper",
    "dom7",
    "ssr-window"
  ]
}

 

 

参考地址:https://blog.csdn.net/shelbyandfxj/article/details/83145521

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值