android 5.1及以下webview報(bào)Uxecpected token ...

問(wèn)題表現(xiàn)[WHAT]

棒極了,我算是和android 5.1杠上了,這次又報(bào)出“Uxecpected token ...”的問(wèn)題,天地良心啊,我沒(méi)寫(xiě)過(guò)這么騷的代碼啊,不過(guò)有過(guò)上回的教訓(xùn),這次勉強(qiáng)算是“輕車(chē)熟路”了,是在vendor里報(bào)的錯(cuò),那就很可能是node_modules底下的問(wèn)題,找壓縮代碼,卻定位到vue.js的壓縮模塊里
nani the fuck?

黑人問(wèn)號(hào)

分析[WHY]

不對(duì)啊,之前不是能用嗎?不可能幾天內(nèi)vue版本換了吧?一查,沒(méi)換啊,等等,這vue.js的量前后對(duì)比有點(diǎn)不太對(duì)啊,哦,這個(gè)所謂的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內(nèi)容會(huì)被打入vendor中,再看出錯(cuò)的附近的壓縮代碼內(nèi)容,依稀可以找到一點(diǎn)蛛絲馬跡:dom7,仿佛一下子觸發(fā)了我的記憶,想起了前幾天看到過(guò)的一篇文章

《假如測(cè)試說(shuō)你的網(wǎng)站在iOS 10有問(wèn)題》

emmm,是不是有swiper呢?在node_modules下還真有。而從打包后的vendor里來(lái)看這里用了es6里的...(擴(kuò)展運(yùn)算符),android 5.1當(dāng)然不認(rèn)了
再一問(wèn)同事,果然是之前加了swiper

解決方法[HOW]

當(dāng)然給出的文章里已經(jīng)寫(xiě)了解決方案了,但我這里用的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')
        ]
      }

哎呀,可把我能壞了


滑稽
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容