建议从ReactJS生成的生成中删除.map文件吗?
我正在用ReactJS开发大规模应用程序,并关注巨大的构建大小问题 在ReactJS中生成构建(生产模式)后,我发现构建大小太大,经过研究,我发现您可以通过在package.json文件中进行以下配置来删除源映射文件(.map)建议从ReactJS生成的生成中删除.map文件吗?,reactjs,production-environment,Reactjs,Production Environment,我正在用ReactJS开发大规模应用程序,并关注巨大的构建大小问题 在ReactJS中生成构建(生产模式)后,我发现构建大小太大,经过研究,我发现您可以通过在package.json文件中进行以下配置来删除源映射文件(.map) "postbuild": "rimraf build/**/*.map", 因此,我的体型缩小了80%,这让我非常高兴 然而,我仍然怀疑,上述是不是最好的解决方案?源代码映射有助于在浏览器中调试捆绑包文件。它们在开发环境中很有帮助,但如果它们太重,通常最好不要将它们
"postbuild": "rimraf build/**/*.map",
因此,我的体型缩小了80%,这让我非常高兴
然而,我仍然怀疑,上述是不是最好的解决方案?源代码映射有助于在浏览器中调试捆绑包文件。它们在开发环境中很有帮助,但如果它们太重,通常最好不要将它们包含在生产环境中 您可以在构建阶段本身禁用源映射生成 如果您正在使用最新的
create react app
,请在webppack.config.prod
中更改此行
const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
到
并且您的prod生成文件将不包括源映射
注意:你应该弹出你的create react应用程序来访问你的网页配置文件我发现,在商业现实中,在任何环境中使用源地图比人们“担心成本”节省更多的时间 这就是问题的症结所在。人们害怕它 你到底在混淆什么?坏习惯?不安全代码?不提供sourcemaps不会帮你解决问题
如果你想节省性能?它们仅在devtools打开时加载,此时。。。哦,看,你没有sourcemaps多可惜啊,调试现在困难多了。如果你来这里使用webpack,只需在配置中将
devtool
设置为false,即可禁用webpack(当前为@5)生成.map文件
module.exports={
devtool:false
}
除此之外,没有其他方法对我有效,即使设置
模式:“production”
也不起作用。源代码映射最好单独用于dev env。“用prod把它关掉是一个很好的举动。”瓦莱里安·佩雷拉为什么?我要求你给出一个非常令人信服的理由。谢谢你的建议。通过postbuild脚本运行作为替代解决方案是个好主意吗?如果我没有使用webpack怎么办?即使您没有使用webpack
,源地图也会由您使用的任何构建工具生成。通过后期构建脚本删除源映射没有什么错。但是,如果您可以首先阻止生成源映射,那么它将为您节省几秒钟的构建时间。@KrupalPatel如果此答案有助于解决您的问题,请将其标记为已接受。“这将帮助其他遇到类似问题的人。”DineshPandiyan你还没有真正解释原因。问题是为什么,而不是如何。
const shouldUseSourceMap = false