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

IT技术 node.js reactjs source-maps
2021-04-01 12:02:53

我的react文件夹结构如下

在此处输入图片说明

我没有使用过 create-react-app 版本。我尝试使用GENERATE_SOURCEMAP=false. 但它没有用。

我在哪里可以找到 .map 文件。我怎样才能删除这些文件?

我找不到构建文件夹。我试过使用下面的脚本,但它无法删除源映射

 "scripts": {

    "start": "react-scripts start",
   "build": "GENERATE_SOURCEMAP=false && npm run build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
6个回答

只需删除 &&

"scripts": {    
    "start": "react-scripts start",
    "build": "GENERATE_SOURCEMAP=false react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
是的。我用的一样。浏览器仍然显示相同
2021-05-22 12:02:53
但是当我尝试上面的代码时,浏览器仍然显示代码。谢谢
2021-05-24 12:02:53
你确定你的代码是这个"build": "GENERATE_SOURCEMAP=false react-scripts build" 不是这个"build": "GENERATE_SOURCEMAP=false && react-scripts build"
2021-06-04 12:02:53
你必须用 npm run build
2021-06-11 12:02:53
如果你想先运行构建文件,你需要全局安装服务'npm run serve -g'和'serve build',然后你可以在浏览器中使用localhost:5000打开它
2021-06-12 12:02:53

您必须.env在根目录(与 相同的文件夹package.json)中创建一个文件并设置GENERATE_SOURCEMAP=false在一行中。

有关其他配置,您可以参考此处的文档:https : //facebook.github.io/create-react-app/docs/advanced-configuration

感谢您链接相关文档
2021-06-01 12:02:53
使用 react@16.13.1 的正确解决方案
2021-06-10 12:02:53

我已经测试过并且正在运行的是将此代码添加到您的.env.production文件或.env文件中

GENERATE_SOURCEMAP=false

方案一

package.json下面编辑您的喜欢:

  • 视窗:
    "scripts": {
        "start": "react-scripts start",
        "build": "set \"GENERATE_SOURCEMAP=false\" &&  react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
      },
  • Linux:
    "scripts": {
        "start": "react-scripts start",
        "build": "GENERATE_SOURCEMAP=false react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
      },

方案二(推荐)

此解决方案依赖于操作系统,适用于 Linux 和 Windows。只需.env在项目的根路径中创建一个名为的文件,并向其中添加以下行:

GENERATE_SOURCEMAP=false

对于 windows cmd 和 create-react-app + react-scripts,

您应该使用set和 close with \" YOUR_TMP_ENV_VAR \"

见示例:

"deploy:prod:hosting": "set \"GENERATE_SOURCEMAP=false\" && npm run build

这个答案对我帮助: How to set environment variable in React JS..?

为我工作。但我不明白为什么当我使用&& set PORT=3001它也能工作但没有引号。你知道为什么吗 ?那是因为_里面(下划线)GENERATE_SOURCEMAP吗?
2021-06-13 12:02:53
这是正确的答案。在Win10上测试。谢谢!
2021-06-19 12:02:53