create-react-app在生产中显示我的所有代码,如何将其隐藏?

时间:2018-07-19 06:30:25

标签: javascript reactjs create-react-app

showing_all_files

在我的chrome来源标签中,我可以按确切的文件夹位置查看我的所有文件。我怎么藏起来?

这些不是我以前的项目中的问题,这些问题是在不使用create-react-app的情况下完成的。

10 个答案:

答案 0 :(得分:15)

package.json文件中进行此更改,就可以了。

scripts: {
  "build": "GENERATE_SOURCEMAP=false react-scripts build"
}

答案 1 :(得分:8)

这里有三种隐藏代码的方法。

1。使用.env文件。

GENERATE_SOURCEMAP=false

enter image description here

2。使用command行。

GENERATE_SOURCEMAP=false react-scripts build

3。使用package.json

scripts: {
  "build": "GENERATE_SOURCEMAP=false react-scripts build"
}

答案 2 :(得分:3)

根据Issue #1632,在create-react-app中,这似乎是正确的行为。

Gaeron

  

这是预期的。您可以从构建输出中删除.map文件,如果   您想要禁用它,尽管会收到有关以下内容的控制台警告   他们失踪了。

     

尽管我认为将它们留在里面也没有什么害处。客户代码   已经可以在用户的​​计算机上使用了,因此没有秘密   它。

也许这是你的情况?

还要确保您具有正确的生产版本,npm run build / yarn build的输出是应该部署到服务器的输出。

答案 3 :(得分:1)

删除所有.map文件(从js /和css /文件夹中),然后再将其上传到生产服务器

答案 4 :(得分:1)

或者您可以在Linux / Mac上使用"es5"

答案 5 :(得分:1)

package.json 中(在Windows中)

"scripts": {
...
    "cleanBuild": "rimraf ./build/*",
    "build": "npm run cleanBuild && set \"GENERATE_SOURCEMAP=false\" && react-scripts build ",
...
}

答案 6 :(得分:1)

我找到了一个非常简单的解决方案:

  CREATE EVENT test_event_1
    ON SCHEDULE STARTS CURRENT_TIMESTAMP
    ENDS test.end_date
    DO
       INSERT INTO test(title,created_date,end_date)
       VALUES('Test MySQL recurring Event',2021-03-01 08:07:16.141265,2021-03-01 08:08:16.141265);

有关不同方式的更多信息:这是link

答案 7 :(得分:1)

您无法删除对代码的访问权限。 您可以使用 https://obfuscator.io 将 headhash 提供给黑客或代码窃取者。

答案 8 :(得分:0)

在Windows计算机上,这对我有帮助

"build": "set 'GENERATE_SOURCEMAP=false' && react-scripts build",

如果您使用的是react-app-rewired,可以尝试以下操作。

我使用了一个名为cross-env的软件包。它可以注入您的环境变量。

"build": "cross-env GENERATE_SOURCEMAP=false react-app-rewired build"

答案 9 :(得分:0)

在 package.json 中放入以下代码


scripts: {"build": "GENERATE_SOURCEMAP=false react-scripts build"} 

More information follow this blog