在Gatsby中webpack build的源码中有这么一段
if ("" === `4` && (0, _enginesHelpers.shouldGenerateEngines)()) {
Promise.all(engineBundlingPromises).then(() => {
if (process.send) {
process.send({
type: `LOG_ACTION`,
action: {
type: `ENGINES_READY`
}
});
}
});
}
其中if里的"" === `4
`不是直接就false了?
还有(0, _enginesHelpers.shouldGenerateEngines)()
这块是什么意思?
thx
确实是直接就 false 了。
===
优先级比&&
高。但感觉前面应该是一个环境变量之类的,构建的时候被替换成实际值了,原始的源码里不应该就长这样。
就像你用 Webpack 时在项目里常常会写的:
等到构建后的产物里实际会是:
这个 if 条件显然是不通过的,但目的就是为了让它不通过。