Vue.js 使用 Swiper.js 在 iOS < 11 时出现错误

7

前言

在H5项目中,需要用到翻页效果,通过 Swiper 来实现,安装 Swiper

npm i swiper -S

但是实际使用中,发现低版本 iOS < 11 会出现下面这个错误:

SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.

原因

Swiper.js 这个 npm 包里面还使用了 dom7ssr-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"
    ]
}

参考:http://idangero.us/swiper/get...

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


如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

呵sever · 2018年10月16日

这个真的是巨坑

回复

0

是啊,我开 iOS 模拟机测了半天。

52admln 作者 · 2018年10月17日
0

@52admln 我是看编译后的文件发现的,另外,很多安卓机只支持部分ES6

呵sever · 2018年10月17日
0

@呵sever 对的

52admln 作者 · 2018年10月17日
何小萌 · 4月23日

坑惨了,感谢作者把我从坑里救出来!!!

回复

载入中...