android 5.1 webview 上传文件,android 5.1及以下webview报Uxecpected token ...

问题表现[WHAT]

棒极了,我算是和android 5.1杠上了,这次又报出“Uxecpected token ...”的问题,天地良心啊,我没写过这么骚的代码啊,不过有过上回的教训,这次勉强算是“轻车熟路”了,是在vendor里报的错,那就很可能是node_modules底下的问题,找压缩代码,却定位到vue.js的压缩模块里

nani the fuck?

a9d2dbcc77d5

黑人问号

分析[WHY]

不对啊,之前不是能用吗?不可能几天内vue版本换了吧?一查,没换啊,等等,这vue.js的量前后对比有点不太对啊,哦,这个所谓的vue.js好像夹带了我们自己的私货啊,再看webpack.prod.js,可以看到如下配置:

new webpack.optimize.CommonsChunkPlugin({

name: 'vendor',

minChunks(module) {

// any required modules inside node_modules are extracted to vendor

return (

module.resource &&

/\.js$/.test(module.resource) &&

module.resource.indexOf(path.join(__dirname, '../node_modules')) === 0

)

}

})

可以看到node_modules底下多次引入的js内容会被打入vendor中,再看出错的附近的压缩代码内容,依稀可以找到一点蛛丝马迹:dom7,仿佛一下子触发了我的记忆,想起了前几天看到过的一篇文章

emmm,是不是有swiper呢?在node_modules下还真有。而从打包后的vendor里来看这里用了es6里的...(扩展运算符),android 5.1当然不认了

再一问同事,果然是之前加了swiper

解决方法[HOW]

当然给出的文章里已经写了解决方案了,但我这里用的vue-cli,稍稍不同,所以我这么改

// webpack.base.conf.js

// 在module.exports.module.rules中

{

test: /\.js$/,

loader: 'babel-loader',

include: [

resolve('node_modules/dom7'), // 添加的

resolve('node_modules/swiper'), // 添加的

resolve('src'),

resolve('test'),

resolve('node_modules/webpack-dev-server/client')

]

}

哎呀,可把我能坏了

a9d2dbcc77d5

滑稽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值