我遇到的根本问题是IE11失败,出现Object doesn't support property or method 'find'
。看来我需要导入babel-polyfill,但是找不到合适的位置进行导入。
gatsby build
失败,并出现Module build failed: Error: only one instance of babel-polyfill is allowed
。gatsby build
再次失败。我该怎么办?
答案 0 :(得分:0)
解决方案:
// gatsby-node.js
exports.modifyWebpackConfig = ({ config, stage }) => {
if (stage === "build-javascript") {
config._config.entry.app = ["babel-polyfill", config.resolve().entry.app];
}
return config;
};
唯一脏的部分是访问私有(带下划线的)_config
属性。 理论上,更合适的解决方案将是这样的:
exports.modifyWebpackConfig = ({ config, stage }) => {
if (stage === "build-javascript") {
config.merge({
entry: {app: ["babel-polyfill", config.resolve().entry.app]}
});
}
return config;
};
之所以不起作用,是因为原始的entry.app
值是一个字符串,而我的新entry.app
值是一个数组,并且merge函数尝试通过推入每个个体来合并两者原始字符串的字符作为新数组的元素。如果有人知道如何使更好的解决方案有效,那么我很乐意改善这个答案,但是在那之前,至少是可行的。
答案 1 :(得分:-1)