Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
建议从ReactJS生成的生成中删除.map文件吗?_Reactjs_Production Environment - Fatal编程技术网

建议从ReactJS生成的生成中删除.map文件吗?

建议从ReactJS生成的生成中删除.map文件吗?,reactjs,production-environment,Reactjs,Production Environment,我正在用ReactJS开发大规模应用程序,并关注巨大的构建大小问题 在ReactJS中生成构建(生产模式)后,我发现构建大小太大,经过研究,我发现您可以通过在package.json文件中进行以下配置来删除源映射文件(.map) "postbuild": "rimraf build/**/*.map", 因此,我的体型缩小了80%,这让我非常高兴 然而,我仍然怀疑,上述是不是最好的解决方案?源代码映射有助于在浏览器中调试捆绑包文件。它们在开发环境中很有帮助,但如果它们太重,通常最好不要将它们

我正在用ReactJS开发大规模应用程序,并关注巨大的构建大小问题

在ReactJS中生成构建(生产模式)后,我发现构建大小太大,经过研究,我发现您可以通过在package.json文件中进行以下配置来删除源映射文件(.map)

 "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