插件中的传播语法在 IE/edge 中不起作用

Posted

技术标签:

【中文标题】插件中的传播语法在 IE/edge 中不起作用【英文标题】:Spread Syntax in Plugin not working in 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 浏览器中运行良好? 【参考方案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不支持

【讨论】:

以上是关于插件中的传播语法在 IE/edge 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

DatePicker 插件在 PhoneGap 1.5 中不起作用

参考或链接在 Flowplayer 字幕插件中不起作用

设置响应式字体大小在革命滑块jQuery插件中不起作用

Bootstrap Datepicker 在 chrome 中不起作用

对象键集中的传播语法不起作用

插件在 CodeIgniter 中不起作用