Reactjs 为什么要部署Firebase';s完整的react应用程序而不是部署生成目录文件?

Reactjs 为什么要部署Firebase';s完整的react应用程序而不是部署生成目录文件?,reactjs,firebase,firebase-hosting,firebase-cli,Reactjs,Firebase,Firebase Hosting,Firebase Cli,因此,我使用CreateReact应用程序工具链创建了一个react应用程序。 编写了一些组件并运行 firebase init npm run build firebase deploy --only hosting 现在,当我在chrome dev tools的source选项卡中查看我的live应用程序时,它显示了react应用程序的所有源文件,包括注释 firebase不应该只在构建目录中部署为生产优化和缩小的块吗 我运行了网络测试来查看正在获取什么类型的文件,令人惊讶的是,它只获

因此,我使用CreateReact应用程序工具链创建了一个react应用程序。 编写了一些组件并运行

firebase init

npm run build

firebase deploy --only hosting
现在,当我在chrome dev tools的source选项卡中查看我的live应用程序时,它显示了react应用程序的所有源文件,包括注释

firebase不应该只在构建目录中部署为生产优化和缩小的块吗

我运行了网络测试来查看正在获取什么类型的文件,令人惊讶的是,它只获取构建目录中的块。那么,我的src目录中的所有文件是如何以原始形式出现的呢

现在可能是浏览器从块中构造它们。然后,这似乎是一个react构建问题,它不会删除生产构建中的注释和丑陋

但我也分析了构建目录中的js块,它们没有嵌入注释

以下是我的firebase配置:

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}



所以我找到了解决办法

它与firebase托管无关

需要配置react的构建来解决此问题。 基本上,我们必须停止生成源映射

看起来构建目录中的这些源代码映射包含部署到firebase的原始js文件

将package.json中的react build命令更改为


“生成”:“生成\u SOURCEMAP=false反应脚本生成”,

我们根本看不出您是如何实际配置部署的,因此很难说为什么它没有达到预期效果。@Jornsharpe添加了firebase配置。请看一看,如果禁用sourcemaps,则调试生产中的问题会困难得多。@abraham我没有看到任何web应用托管sourcemaps并向publicShipping显示其源代码在生产中发布源地图是非常困难的。需要记住的是,JS是在用户的设备上执行的,如果他们想对其进行反向工程,您无法阻止他们。@abraham-hmm,这是真的。事实上,我现在对逆向工程了解不多,甚至对调试和测试也不太了解。