在IE11上,NodeList上的forEach方法不起作用是因为IE11不支持ES6的forEach方法。虽然babel polyfill已经包含了对ES6的一些新特性的支持,但是它不能转换原生对象的方法。
要解决这个问题,你可以使用babel-preset-env插件来配置babel,以便转换兼容性较差的语法和方法。以下是一个示例配置:
npm install babel-preset-env --save-dev
{
"presets": ["env"]
}
这样配置后,babel会根据你的配置将代码转换为兼容IE11的代码,使得NodeList上的forEach方法可以在IE11上正常工作。
需要注意的是,babel-preset-env会根据你的配置自动添加需要的polyfill,所以你不需要再手动引入babel polyfill。