Babel 7不会将CONST更改为VAR

olg*_*bic 8 babel reactjs

我在Safari版本<= 9时遇到问题。Babel似乎没有用var替换const。

我在控制台中收到此错误:

意外的关键字“ const”。在严格模式下不支持const声明。

我尝试使用@ babel / preset-stage-0,但babel删除了它。

这是我的应用程序配置:

.babelrc

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": [
    "@babel/plugin-transform-object-assign"
  ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

const path = require("path");
const webpack = require("webpack");
const componentName = "contact-captain";
const publicFolderRelativePath = "../../../../public/js";
const ignorePlugin = new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/);


module.exports = {
    // devtool: "source-map",
    output: {
        path: path.resolve(__dirname, publicFolderRelativePath),
        filename: `${componentName}.js`
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            }
        ]
    },
    plugins: [
        ignorePlugin
    ]
};
Run Code Online (Sandbox Code Playgroud)

Hit*_*nds 1

你尝试配置吗preset-env?您可以在这里找到浏览器列表: https: //github.com/browserslist/browserslist

可能需要添加Safari 8到您的列表中...

["@babel/preset-env", {
  "targets": {
    "browsers": ["last 2 versions"],
  }
}]
Run Code Online (Sandbox Code Playgroud)

  • 嗨@stevendesu,因为它不能解决您的特定问题而对答案进行否决的想法可能并不真正符合这样的精神。投票之所以存在,是因为它确实曾经帮助过某人……如果你没有找到你需要的东西,请尝试继续搜索并最终向 babel 项目本身提出请求:)。祝您尽快解决问题!干杯! (9认同)