【问题标题】:Spread Syntax in Plugin not working in IE/edge插件中的传播语法在 IE/edge 中不起作用
【发布时间】:2019-12-05 07:15:25
【问题描述】:

我的 react 应用程序中有一个插件(react-form-with-constraints)(从 create-react-app 开始并弹出)。由于这个插件使用扩展语法,它在 IE 和 Edge 中不起作用。 Edge给出的错误:

SCRIPT1028:SCRIPT1028:预期的标识符、字符串或数字

我知道我需要使用 babel 来转译代码,并将插件的路径添加到 webpack.config.js:

test: /\.(js|mjs|jsx|ts|tsx)$/,
              include: [paths.appSrc, path.resolve(__dirname, "node_modules/react-form-with-constraints")],
              loader: require.resolve('babel-loader'),
              options: {
                customize: require.resolve(
                  'babel-preset-react-app/webpack-overrides'
                ),

                plugins: [
                  [
                    require.resolve('babel-plugin-named-asset-import'),
                    {
                      loaderMap: {
                        svg: {
                          ReactComponent: '@svgr/webpack?-svgo,+ref![path]',
                        },
                      },
                    },
                  ],
                ],

package.json 的相关部分:

"babel": "^6.23.0",
"babel-eslint": "10.0.1",
"babel-jest": "^24.8.0",
"babel-loader": "8.0.5",
"babel-plugin-named-asset-import": "^0.3.2",
"babel-preset-react-app": "^9.0.0",

 "babel": {
    "presets": [
      "react-app",
      "@babel/preset-env",
      {
        "include": [
          "@babel/plugin-proposal-object-rest-spread"
        ]
      }
    ]
  },
"devDependencies": {
    "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
    "@babel/preset-env": "^7.5.5"
  }

我确定我遗漏了一些东西,并且可能做错了什么,但这是我第一次使用 react,我很迷茫并寻求建议。

【问题讨论】:

  • 您使用的是哪个版本的 IE/Microsoft Edge 版本?在使用插件之前,你的 reactjs 应用是否在 IE 和 Edge 浏览器中运行良好?

标签: reactjs internet-explorer babeljs spread-syntax


【解决方案1】:

Create-react-app 不支持开箱即用的 IE11。您需要为此添加 react-app-polyfill。

https://github.com/facebook/create-react-app/blob/master/packages/react-app-polyfill

【讨论】:

    【解决方案2】:

    根据docs

    Spread syntaxIE/Edge 中不受支持。支持所有其他现代浏览器。

    Edge v12Spread in array literalsSpread in function calls支持只有Spread in destructuringSpread in object literals不支持

    【讨论】:

      猜你喜欢
      • 2019-06-28
      • 2018-04-18
      • 2015-12-25
      • 2018-11-19
      • 2020-06-04
      • 2018-06-08
      • 2018-04-06
      • 1970-01-01
      • 2017-09-30
      相关资源
      最近更新 更多