火狐浏览器低版本6.0兼容处理

  1. 环境:打开控制台查看浏览器版本:

  2. 如上所示为火狐浏览器6.0,而目前最新版本为95.0,相差很大;

  3. 代理调试:打开控制台报错信息如下

Uncaught SyntaxError: In strict mode code, functions can only be declared at top level or immediately within another function.

Error: Loading chunk 2 failed.
(missing: https://static/js/2.7338f3e8.chunk.js)
message: "Loading chunk 2 failed.↵(missing: /static/js/2.7f3e8.chunk.js)"
name: "ChunkLoadError"
request: "https://static/js/2.7338f.chunk.js"
stack: (...)
get stack: function () { [native code] }
set stack: function () { [native code] }
type: "missing"_
_proto__: d
  1. 网上查找很多资料
    思路:看到上述错误信息,
    ● 想到是babel编译问题;
    ● Error: Loading chunk 2 failed;加载文件错误
    两个方向Google搜索了很多资料,开始尝试

经过多次调试,基本是两种方案:
● 与pc一样是JS语法转换的问题(babel-poplify)

扩展: 正确使用 @babel/preset-env 与 @babel/plugin-transform-runtime

● babel各个插件
但问题没有进展;
5. 更改思路
“strict mode”编译时什么?
基于node项目经验,知道有“use strict”严格模式
于是重新搜索:“babel/preset-env use strict mode”

在本文章找到了解决方案:How to remove global “use strict” added by babel

  ['babel-plugin-transform-remove-strict-mode'],
  1. 修改后的babel配置信息为(craco.config.js)
babel: {
    loaderOptions: {
      exclude: [/node_modules[\\/]core-js/, /node_modules[\\/]react-app-polyfill/],
    },
    presets: [
      [
        '@babel/preset-env',
        {
          modules: false,
          useBuiltIns: 'entry',
          corejs: {
            version: 3,
            proposals: true,
          },
        },
      ],
    ],
    plugins: [
      ['@babel/plugin-proposal-class-properties', {loose: true}],
      ['@babel/plugin-proposal-private-methods', {loose: true}],
      ['@babel/plugin-proposal-private-property-in-object', {loose: true}],
      ['babel-plugin-transform-remove-strict-mode'],
      [
        'import',
        {
          libraryName: 'antd',
          style: true,
        },
        'antd',
      ],
    ],
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值