【发布时间】:2018-07-19 06:30:24
【问题描述】:
【问题讨论】:
-
你什么也做不了。这是一个功能
标签: javascript reactjs create-react-app
【问题讨论】:
标签: javascript reactjs create-react-app
根据Issue #1632,create-react-app 中的行为似乎是正确的。
这是意料之中的。您可以从构建输出中删除 .map 文件,如果 你想禁用它,虽然你会得到控制台警告 他们失踪了。
在我看来,把它们留在里面并没有什么坏处。客户端代码 已经对用户的机器可用,所以没有秘密 它。
还要确保您有正确的生产版本,npm run build/yarn build 的输出应该部署到您的服务器。
如果您想完全禁用源映射的生成,请使用:
scripts: {
"build": "GENERATE_SOURCEMAP=false react-scripts build"
}
您也可以通过.env 配置文件指定GENERATE_SOURCEMAP=false 参数或在纯控制台命令GENERATE_SOURCEMAP=false react-scripts build 中使用。
【讨论】:
在package.json 文件中进行此更改,您就可以开始了。
scripts: {
"build": "GENERATE_SOURCEMAP=false react-scripts build"
}
【讨论】:
或者你可以在 linux/mac 上使用GENERATE_SOURCEMAP=false react-scripts build
【讨论】:
GENERATE_SOURCEMAP 的意义何在?为什么默认为True?
在 package.json 中(Windows)
"scripts": {
...
"cleanBuild": "rimraf ./build/*",
"build": "npm run cleanBuild && set \"GENERATE_SOURCEMAP=false\" && react-scripts build ",
...
}
【讨论】:
在上传到生产服务器之前删除所有 .map 文件(来自 js/ 和 css/ 文件夹)
【讨论】:
在 package.json 中放入以下代码
scripts: {"build": "GENERATE_SOURCEMAP=false react-scripts build"}
【讨论】:
【讨论】:
您无法移除对代码的访问权限。 您可以使用https://obfuscator.io 将headhash 提供给hacker 或code leecher。
【讨论】:
在 Windows 机器上,这对我有帮助
"build": "set 'GENERATE_SOURCEMAP=false' && react-scripts build",
如果您使用的是react-app-rewired,您可以尝试以下方法。
我使用了一个名为cross-env 的包。它可以注入你的环境变量。
"build": "cross-env GENERATE_SOURCEMAP=false react-app-rewired build"
【讨论】:
在 Windows 上,使用 package.json:
scripts: { "build": "set 'GENERATE_SOURCEMAP=false' react-scripts build" }
【讨论】: