5

我试图让我的代码在不支持 ES6 的 Android 4.1 Webview 上运行。

但我收到此错误:

未捕获的 SyntaxError:在严格模式下使用 const。

.babelrc 配置

{
  "plugins": [
    "lodash"
  ],
  "presets": [
    "@babel/preset-react",
    [
      "@babel/preset-env",
      {
        "targets": {
          "android": "4.1"
        },
        "useBuiltIns": "usage",
        "forceAllTransforms": true
      }
    ],
    "@babel/preset-stage-0"
  ]
}

webpack.config.js

rules: [
      {
        enforce: 'pre',
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: "eslint-loader"
      },
      {
        test: /\.jsx?$/,
        loaders: 'babel-loader',
        options: {
          plugins: ['lodash']
        },
        exclude: /(node_modules|bower_components)/
      },
   ]
4

1 回答 1

9

我发现问题是由“查询字符串”模块引起的,它是另一个包的依赖项。如 github 上所述,我明确安装了第 5 版。然后一切都很顺利。

Github:查询字符串

该模块面向 Node.js 6 或更高版本以及最新版本的 Chrome、Firefox 和 Safari。如果您想支持旧版浏览器,请使用版本 5:npm install query-string@5。

于 2018-03-28T13:40:12.107 回答