GENERATE_SOURCEMAP=false 问题

Posted

技术标签:

【中文标题】GENERATE_SOURCEMAP=false 问题【英文标题】:GENERATE_SOURCEMAP=false Issue 【发布时间】:2019-11-27 07:31:46 【问题描述】:

在 Windows 中,当我尝试构建 react 应用程序时,我收到错误消息,提示“GENERATE_SOURCEMAP”未被识别为内部或外部命令。

我在 package.json 文件中添加了以下行

"build": "GENERATE_SOURCEMAP=false react-scripts build"

【问题讨论】:

还有这个:npmjs.com/package/cross-env 【参考方案1】:

也许这样的事情会帮助你,创建新的应用程序:

npx create-react-app app

cd app

然后运行:

GENERATE_SOURCEMAP=false yarn build

【讨论】:

【参考方案2】:

另一种解决方案是在项目的根目录中创建一个名为 .env 的新文件,并在文件中包含以下内容。这将在您下次运行构建时从您的 build/static/js 文件夹中删除所有 .map 文件。

GENERATE_SOURCEMAP=false

您可以找到有关源映射here 的更多信息。

【讨论】:

【参考方案3】:

如果您在 Windows 上运行,您也可以在脚本中尝试以下设置

"build": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build"

【讨论】:

这已经解决了问题。有时在 Windows 上,“winBuild”不起作用。【参考方案4】:

将其保存在 package.json 中:

"build": "GENERATE_SOURCEMAP=false react-scripts build",
"winBuild": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build",

使用npm run build 在 Linux 上创建构建。

使用npm run winBuild 在 Windows 上创建构建。

【讨论】:

答案很好,但***.com/a/62990101/1909798有更好的解决方案 @robsonrosa 的评论:"build": "cross-env GENERATE_SOURCEMAP=false react-scripts build" 使用此方法前需要安装cross-env。 npm install --global cross-env【参考方案5】:

使用cross-env 跨多个操作系统安全地设置环境变量:

"build": "cross-env GENERATE_SOURCEMAP=false react-scripts build"

【讨论】:

不错的解决方案。仅供参考,在使用此方法之前需要安装 cross-env。 [npm install --global cross-env]【参考方案6】:

如果您使用 Heroku,则必须将其添加到应用程序设置中的 Config Vars 中。这是应该从文档documentation 中设置的方式@

【讨论】:

以上是关于GENERATE_SOURCEMAP=false 问题的主要内容,如果未能解决你的问题,请参考以下文章

react打包中不想要sourceMap,但是在命令里加'GENERATE_SOURCEMAP=false'后windows下报错'GENERATE_SOURCEMAP'

create-react-app build 打包隐藏源码

如何禁用 React JS 应用程序的源映射

为啥 == false 评估为 false 而 [] == false 评估为 true?

为啥 false && (false)?false:true 返回 true

console.log(([])?true:false); console.log(([]==false?true:false)); console.log(({}==false)?true:fa