[youzan/vant]run dev/build 无法在低版本 Chrome 内核浏览器显示

2024-05-22 570 views
3
手机品牌: HUAWEI RIO-UL00 安卓版本: 6.0.1 系统版本:EMUI 系统 4.0.2 系统自带浏览版本:10.2.0.1539 系统自带浏览器内核版本:WebKit 534.30 Chrome(未知)

定位内核版本: 测试 Chrome 内核版本大于等于 41,可以正常显示。 低于 41 提示: Uncaught SyntaxError: Use of const in strict mode. Uncaught ReferenceError: webpackJsonp is not defined 修改脚手架 一些 es6 语法,继续测试。

发现 Chrome 内核版本低于 32 无正常显示。 相关地址 https://dl.nwjs.io/v0.9.0/ (Chrome/32.0.1700.77 正常显示) 相关地址 https://dl.nwjs.io/v0.8.0/ (Chrome/30.0.1599.66 无法显示)

期望结果: 希望在项目能在 Chrome 内核版本 30 以上(包括 30),正常显示。 (cube-ui 项目可以在 30 上正常显示)

谢谢!

回答

4

webpack降级使用吧~

8

webpack 设置的版本和 cube-ui 一样了。

5

@pangxieju 首先你的问题应该是代码中有未编译的 ES6 语法导致的,比如 const,麻烦你看下编译结果中出现 const 的位置。 而且 vant 编译后的代码里是不存在 ES6 代码的噢

3

@erniu @chenjiahan 感谢你们的帮助,问题解决了。 vue-cli 问题

9

请问一下如何解决,我现在也遇到这个问题了,

4

@erniu 您好,非常感谢您回答我的问题, "webpack-dev-server": "^2.7.1", 已经降到2.7 你给我分享的那个#1140 解决方案我也用了,但是还是不好使,主要解决国内 钉钉浏览器 内核为uc 和支付宝一样,真是不知道该怎么办,进页面就白屏,

5

@richard1015 分析一下这个问题,无非就是新版本的webpack全面升级到es6语法,相对老一些的浏览器内核以及一些魔改的浏览器在严格模式下还不支持新语法,理论上来讲,你把出问题的插件加到babel-loader列表中转一下就ok了

8

@erniu 好的,谢谢您,我试一下

6

webpack-dev-server 版本按下面的处理下就可以了 { test: /\.js$/, loader: 'babel-loader', include: [resolve('node_modules/webpack-dev-server')] }, 如果还有报错在入口加上 babel-polyfill entry:[ 'babel-polyfill' ]

1

我现在在chrome30上遇到了和楼主一样的问题,vuecli4.5,方法都试了但是无法解决