如何禁用React JS Application的源映射

Bha*_*bba 12 node.js source-maps reactjs

我的反应文件夹结构如下

在此输入图像描述

我没有使用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"
  },
Run Code Online (Sandbox Code Playgroud)

Neh*_*FFI 23

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

GENERATE_SOURCEMAP=false
Run Code Online (Sandbox Code Playgroud)


Kya*_*Soe 21

只是删除 &&

"scripts": {    
    "start": "react-scripts start",
    "build": "GENERATE_SOURCEMAP=false react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
Run Code Online (Sandbox Code Playgroud)

  • 不起作用:“GENERATE_SOURCEMAP”不被识别为内部或外部命令、可操作程序或批处理文件。 (4认同)
  • 是的。我用的是同样的。浏览器还是一样的显示 (2认同)

Sky*_*Sky 17

解决方案1

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

  • 视窗:
    "scripts": {
        "start": "react-scripts start",
        "build": "set \"GENERATE_SOURCEMAP=false\" &&  react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
      },
Run Code Online (Sandbox Code Playgroud)
  • Linux:
    "scripts": {
        "start": "react-scripts start",
        "build": "GENERATE_SOURCEMAP=false react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
      },
Run Code Online (Sandbox Code Playgroud)

解决方案2(推荐)

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

GENERATE_SOURCEMAP=false
Run Code Online (Sandbox Code Playgroud)


Kru*_*tel 7

这对我有用。希望它能帮助任何人。

// package.json

"build": "react-scripts build",
"postbuild": "rimraf build/**/*.map"
Run Code Online (Sandbox Code Playgroud)

这样,它将在生成生成过程中自动删除地图文件。

  • 这应该有效,但不合理。最好不要创建 *.map 而不是创建和删除它。 (4认同)
  • 但是当您在浏览器中加载应用程序时,.map 文件将会出现 404 错误 (3认同)

jsn*_*bie 7

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

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


Raz*_*Raz 6

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

您应该使用set and close与\“ YOUR_TMP_ENV_VAR \”

参见示例:

"deploy:prod:hosting": "set \"GENERATE_SOURCEMAP=false\" && npm run build
Run Code Online (Sandbox Code Playgroud)

这个答案对我帮助: 如何在React JS中设置环境变量?


ven*_*yal 6

只需GENERATE_SOURCEMAP=false添加.env