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'
为啥 == false 评估为 false 而 [] == false 评估为 true?
为啥 false && (false)?false:true 返回 true
console.log(([])?true:false); console.log(([]==false?true:false)); console.log(({}==false)?true:fa