Javascript &引用;对象没有';t支持属性或方法';查找'&引用;在IE11中使用Babel和Webpack
我在IE11中使用Webpack和Babel时出现了一些奇怪的行为。当前出现的问题是以下错误消息:Javascript &引用;对象没有';t支持属性或方法';查找'&引用;在IE11中使用Babel和Webpack,javascript,reactjs,webpack,internet-explorer-11,babeljs,Javascript,Reactjs,Webpack,Internet Explorer 11,Babeljs,我在IE11中使用Webpack和Babel时出现了一些奇怪的行为。当前出现的问题是以下错误消息: SCRIPT438:对象不支持属性或方法“find” 这只发生在InternetExplorer中,奇怪的是,在本地运行代码时不会发生,只有在代码已发布时才会发生 const getColumnByName = (columns, columnName) => { return columns.find((col) => col.Name === columnName);
SCRIPT438:对象不支持属性或方法“find”
这只发生在InternetExplorer中,奇怪的是,在本地运行代码时不会发生,只有在代码已发布时才会发生
const getColumnByName = (columns, columnName) => {
return columns.find((col) => col.Name === columnName);
}
通过使用断点,我可以看到代码调用了列。在传递对象数组之前,使用空数组查找三次。只有在第四次抛出错误时。在IE控制台中,我可以在上述函数中运行以下代码行,以进一步隔离问题
Array.isArray(columns)
#=> true
Array.prototype.find
#=> function (predicate) { ...
[1,2,3].find(function(el){return el === 2})
#=> 2
columns.length
#=> 17
columns.find(function(e){return true})
#=> Object doesn't support property or method 'find'
对我来说都很奇怪
下面是我的webpack.config文件,以备参考
/// <binding ProjectOpened='Watch - Development' />
module.exports = {
entry: [
'babel-polyfill',
'./Scripts/App.js',
],
output: {
filename: 'Scripts/ReactBundle/bundle.js'
},
resolve: {
extensions: ['.Webpack.js', '.web.js', '.js', '.jsx'],
mainFields: ["main"]
},
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
},
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query:
{
presets: ['react', 'es2017', 'es2015', 'stage-2'],
plugins: ['transform-class-properties']
}
},
]
},
}
//
module.exports={
条目:[
“babel polyfill”,
“./Scripts/App.js”,
],
输出:{
文件名:“Scripts/ReactBundle/bundle.js”
},
决心:{
扩展名:['.Webpack.js'、'.web.js'、'.js'、'.jsx'],
主字段:[“主”]
},
模块:{
规则:[
{
测试:/\.css$/,,
用法:['样式加载器','css加载器']
},
{
测试:/\.js$/,,
排除:/(节点模块|鲍尔组件)/,
加载器:“巴别塔加载器”,
查询:
{
预设:[“反应”、“es2017”、“es2015”、“第二阶段”],
插件:['transform-class-properties']
}
},
]
},
}
提前感谢您的帮助或输入。是否可能列
可能是某个浏览器中不包含find
方法但包含length
属性的类型或其他内容。您能告诉我们定义列
变量的部分吗
如果是这样,您可以使用array.from(列)将其转换为数组代码>