在公用文件夹中创建文件夹有意义吗



我对React&最近发现了有关%PUBLIC_URL%的内容。

一般来说,使用url有什么意义?此外,把很多图像/json/等放在一个地方似乎有点乱,所以我想知道在公共文件夹中创建一个img文件夹是否有意义:例如public/img,并访问它,如:%public_URL%/img/img1.jpeg。这会把事情搞砸吗?

我对此做了一些研究,但我有点笨,所以我真的不认为使用PUBLIC_URL而不是访问公共/文件夹有什么意义。

发件人https://create-react-app.dev/docs/using-the-public-folder,上面写着:

如果将文件放入公用文件夹,则webpack不会对其进行处理。相反,它将原封不动地复制到构建文件夹中。若要引用公用文件夹中的资源,需要使用名为public_URL的环境变量。

老实说,我不知道这意味着什么;有人能解释一下吗?抱歉问了这么多愚蠢的问题<3

TL;DR:将您从javascript使用的资产放在源文件夹中,可以放在特定文件夹(src/img(中,也可以放在使用它们的javascript文件旁边。对html中引用的文件使用public/,对创建react应用程序使用%PUBLIC_URL%

理想情况下,您希望javascript中使用的所有资产和文件都位于src文件夹中。通过这种方式,你可以import这些文件并创建react应用程序,这将确保你有一个有效的url。

您的公用文件夹中的文件不能从javascript中import!你会想要直接从html(favicon、manifest.json、robots.txt(中获得任何资产的公共文件夹,或者你只想能够链接到它们(我有时在那里有一个logo.png,这样我就可以在其他网站上使用该url(。

PUBLIC_URL对于public/中的资产是必需的,因为create-react应用程序需要插入路径,以防您在嵌套路径中为应用程序提供服务。例如,https://youdomain.com/myapp/v2/index.html将具有公共url/myapp/v2。这需要在你的package.json中设置,但如果你不从子路径提供服务,你就不必更改任何内容。

最新更新