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

How to disable source maps for React JS Application

我的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"
  },

只需删除 &&

"scripts": {    
    "start": "react-scripts start",
    "build": "GENERATE_SOURCEMAP=false react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }

这对我有用。希望对大家有帮助。

// package.json

"build": "react-scripts build",
"postbuild": "rimraf build/**/*.map"

这样,它会在构建生成期间自动删除地图文件。

create-react-app v2.1.3弹出的解决方法

转到 /config/webpack.config.js 目录并更改以下行:

const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';

收件人:

const shouldUseSourceMap = false;

鲍勃是你的叔叔。

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

更多配置,您可以参考这里的文档: https://facebook.github.io/create-react-app/docs/advanced-configuration

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

您应该使用 set 并以 \" YOUR_TMP_ENV_VAR \"

结束

参见示例:

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

这个答案帮助了我:

经过长时间的斗争,没有任何效果。最后对我有用的是 更改 sourcemap: 在 nodemodules/react-script/config 内的 webpack.config.prod.js 中为 false 希望它也对你有用。

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

GENERATE_SOURCEMAP=false

解决方案 1

编辑您的 package.json,如下所示:

  • Windows:
    "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

把这个放在你的 package.json

   "build": "cross-env GENERATE_SOURCEMAP=false react-scripts build",

适用于 Windows 和 Linux...

只需在 .env

中添加 GENERATE_SOURCEMAP=false