Я получаю странное поведение в IE11 с использованием Webpack и Babel.В настоящее время проблема возникает следующее сообщение об ошибке:
SCRIPT438: Object doesn't support property or method 'find'
Это происходит только в Internet Explorer, и, как ни странно, не происходит при локальном запуске кода, только когда онбыл опубликован.
const getColumnByName = (columns, columnName) => {
return columns.find((col) => col.Name === columnName);
}
Используя точки останова, я вижу, что код вызывает columns.find
с пустым массивом 3 раза, прежде чем он будет передан массив объектов.Только в тот четвертый раз выдается ошибка.В консоли 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'
Все это очень странно для меня.
Ниже мой веб-пакет.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']
}
},
]
},
}
Заранее благодарен за любую помощь или вклад.