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

前言

在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 时出现错误

来源:https://segmentfault.com/a/1190000016334023
posted @ 2018-12-19 15:41  栖息地  阅读(193)  评论(0编辑  收藏  举报