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

时间:2018-08-23 10:54:50

标签: node.js reactjs source-maps

我的react文件夹结构如下

enter image description here

我没有使用过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"
  },

9 个答案:

答案 0 :(得分:12)

只需删除&&

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

答案 1 :(得分:12)

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

GENERATE_SOURCEMAP=false

答案 2 :(得分:4)

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

// package.json

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

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

答案 3 :(得分:3)

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

您应该使用 set 并使用\“ YOUR_TMP_ENV_VAR \”

结束

查看示例:

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

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

答案 4 :(得分:2)

解决方案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"
      },

解决方案2(推荐)

此解决方案不依赖于操作系统,并且可以在Linux和Windows上运行。只需创建一个名为.env的文件并向其中添加以下行即可:

GENERATE_SOURCEMAP=false

答案 5 :(得分:2)

把这个放在你的 package.json 中

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

它适用于 Windows 和 Linux...

答案 6 :(得分:1)

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

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

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

收件人:

const shouldUseSourceMap = false;

鲍勃是你的叔叔。

答案 7 :(得分:1)

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

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

答案 8 :(得分:0)

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