Reactjs:How 在生产应用程序的开发工具中隐藏节点模块和 webconfig?

Reactjs:How to hide node modules and webconfig in the devtools on production app?

我已经创建了一个 React.js 应用程序 运行 npx create-react-app my-app 并且我不希望在生产模式下整个项目在 devtools 中可用。

如何在源选项卡 (devtools) 中禁用或隐藏节点模块和 webconfig?

我检查了其他未显示静态文件夹或整个项目的已部署 React 应用程序;我怎样才能达到同样的效果?

下面是我浏览器 "Sources" 选项卡控制台的屏幕截图,显示了一些我想隐藏到 public;

的目录

当你 运行 npm run build 时,webpack 将你所有的 js 文件捆绑到一个主 js 文件中。您的开发文件,即 es6 中的反应代码在生产构建后将不会在 build 文件夹中可用。

由于源映射文件,您可以在 devtools 中看到您的完整代码。这是调试开发中代码的好方法,甚至对于某些处于生产模式的人来说也是如此。

如果没有源地图,当发生错误时,您无法在捆绑文件中轻松找到此错误的来源。如果您不想在生产中看到这样的代码,您可以在构建后删除这些文件。删除 static/css 和 static/js 文件夹中的 .map 文件。因此,您可以隐藏未捆绑的源代码。但是,捆绑的 .js 和 .css 文件将始终存在。没有办法隐藏它们,因为这是前端。

如评论中所述,如果您确实担心安全问题,那么您不能在前端执行此操作。你的代码总是会被看到,至少它会被缩小和丑化,但还是会有的。所以,在后端做你的安全工作。

GENERATE_SOURCEMAP=false react-scripts build

这不会在最终构建中生成 sourcemap (.map) 文件。

只是运行

npm run build --nomaps