我正在使用webpack构建React应用程序。我很好奇在哪里把我的"公众"夹。我知道在create-react-apps中,公共文件夹位于" src"夹。
我不确定我是否希望您的公共资源位于源文件夹之外。 index.html不是src的一部分吗?这不是代码的关键部分吗?为什么要将公共文件夹放在外面?
我试图在这个主题上找到好的阅读,但似乎文件夹结构非常主观。如果有人能够解释这一点,我将不胜感激。我想深刻理解为什么公用文件夹在create-react-app中的src文件夹之外。
答案 0 :(得分:1)
您在几个月前发布了此帖子,当您提出一个有趣的观点时,我没有得到任何答复,我对此感到惊讶。
我认为答案有些历史性。过去,公用文件夹的确是 public ,这意味着它包含结构良好且手工制作的index.html
文件以及其他一些人工制品。这些原本打算按原样使用,而应用程序的其他部分(即JavaScript)保留在自己的文件夹中以进行编译,合并等。
但是那是那时,这就是现在。
随着现代包装/捆绑工具(webpack,早午餐,包裹等)的出现,这种区分不再适用,也没有人真正考虑过。
使用这些捆绑工具,一切都是“源代码”(正如您所指出的),而工具将index.html
转换为正确引用捆绑的CSS和JavaScript代码。
因此,尽管我不能直接代表create-react-app
团队发言,但我认为public
文件夹概念很大程度上是过时的,可以追溯到其真正的时代。 >公共。
这些天来,所有内容最终都存储在dist
文件夹中,然后将其提供给最终用户。创建此dist
文件夹的机制在如何构造工具输入以达到最终发行版方面大相径庭。基本上,这些工具不在乎public / src文件夹的区别,那么为什么要这么做?
我希望能有所帮助。我个人在index.html
文件夹中的index.js
旁边有src
。流程为src
-> bundler -> dist
(就像旧的C编程一样:src
-> compiler -> exe
。