create-react-app 正在显示我所有的生产代码,如何隐藏它?

create-react-app is showing all my code in production, how to hide it?

在我的 chrome 来源选项卡中,我可以通过确切的文件夹位置查看我的所有文件。我怎样才能隐藏它们?

这些不是我之前项目的问题,它是在没有使用 create-react-app 的情况下制作的。

根据 Issue #1632,这似乎是 create-react-app 中的正确行为。

Gaeron:

This is expected. You can delete .map files from the build output if you want to disable it, although you'll get console warnings about them missing.

There is no harm in leaving them in though in my opinion. Client code is already available to the user’s machine so there’s no secrets in it.

还要确保您有正确的生产构建,npm run build/yarn build 的输出应该部署到您的服务器。

如果您想完全禁用源地图的生成,请使用:

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

您还可以通过 .env 配置文件指定 GENERATE_SOURCEMAP=false 参数或在普通控制台命令中使用 GENERATE_SOURCEMAP=false react-scripts build

在上传到生产服务器之前删除所有 .map 文件(来自 js/ 和 css/ 文件夹)

或者您可以在 linux/mac

上使用 GENERATE_SOURCEMAP=false react-scripts build

package.json 文件中进行此更改,您就可以开始了。

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

package.json (Windows)

"scripts": {
...
    "cleanBuild": "rimraf ./build/*",
    "build": "npm run cleanBuild && set \"GENERATE_SOURCEMAP=false\" && react-scripts build ",
...
}

以下是隐藏代码的三种方法。

1.使用 .env 文件。

GENERATE_SOURCEMAP=false

2。使用 command 行。

GENERATE_SOURCEMAP=false react-scripts build

3。使用 package.json

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

在 windows 机器上,这对我有帮助

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

如果您正在使用 react-app-rewired,您可以尝试以下方法。

我使用了一个名为 cross-env 的软件包。它可以注入你的环境变量。

"build": "cross-env GENERATE_SOURCEMAP=false react-app-rewired build"

在package.json中放入以下代码


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

More information follow this blog

我找到了一个非常简单的解决方案,即:

npm run build nosources-source-map

有关不同方式的更多信息:这是 link

您无法删除对您的代码的访问权限。 您可以使用 https://obfuscator.io 将 headhash 提供给黑客或代码盗用者。

在 Windows 上,使用 package.json:

scripts: { "build": "set 'GENERATE_SOURCEMAP=false' react-scripts build" }