插件中的传播语法在 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 syntax
在IE
/Edge
中不受支持。支持所有其他现代浏览器。
在Edge v12
、Spread in array literals
和Spread in function calls
中支持只有Spread in destructuring
和Spread in object literals
不支持。
【讨论】:
以上是关于插件中的传播语法在 IE/edge 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
DatePicker 插件在 PhoneGap 1.5 中不起作用