SyntaxError: Unexpected keyword 'const'?

SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.

看到这篇文章的同学,肯定在网上已经看到了答案,原因是因为我们使用的webpack4中已经不会把一些es6的常用特性转换成es5了。 我是经过一系列的验证而得出这个不负责任的结论的。

首先这个问题我是在ios8系统的微信中发现的,特征就是白屏。一开始遇到的时候一脸茫然,因为手机上又不像电脑上的浏览器,可以查看报错。于是引入vconsole,才得以发现这个报错。

一开始我天真的以为只要将项目中的const全部换成var就可以了,新建了一个分支操作了之后发现没有变化。

在接下来,我想到的是babel,于是在.babeirc

{
  "presets": [
    "react",
    "stage-0",
    "es2015",
    "es2016",
    "es2017",
    [ //加了这个数组的东西
        "env",
        {
          "modules": false,
          "targets": {
            "browsers": "> 1%",
            "uglify": true
          },
          "useBuiltIns": true
        }
    ]
  ],
  "plugins": [
    "transform-runtime",
    "transform-decorators-legacy",
    "transform-class-properties",
    [
      "react-css-modules",
      {
        "generateScopedName": "[name]_[local]",
        "filetypes": {
          ".scss": {
            "syntax": "postcss-scss"
          }
        }
      }
    ],
    [
      "import",
      {
        "libraryName": "antd-mobile",
        "style": true
      }
    ]
  ]
}

复制代码

但是好像没有用耶。

谷歌上说的基本上都是说因为webpack-dev-server这个包造成的,但经过思考我觉得并不是,因为这个包是用在我们运行时,也就是说打包的话其实跟这个包是不相关的。

我也是按照网上说的,将webpack-dev-server降级处理,但是这个包最新的版本是依赖webpack4的,无疑也要将webpack降级到webpack3。

在这里下个不负责任的结论,造成这个报错不是因为webpack-dev-server,而是因为webpack。

仅供参考。

如果不需要兼容ios8这个的低版本,我觉得webpack4还是ok的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值