首页 > 解决方案 > React - 自从我定义了 env.PUBLIC_URL 变量后,“npm start”就打开了公共文件夹

问题描述

我需要访问静态内容(图像),所以我发现 PUBLIC_URL 变量是它在 React 中完成的方式。
可以将路径“/public”更改为其他内容吗?
我问这个是因为我添加了 PUBLIC_URL=https://yourdomain.whatever/public一切都很好,但我注意到在http://localhost:8000/publicnpm start打开浏览器。 如果我删除或评论该变量,它将返回从http://localhost:8000开始,并且图像可从 /public 静态获得。
PUBLIC_URL

那么,为什么(以及如何)定义 PUBLI_URL 变量?
我真的需要它还是可以跳过,因为默认情况下已经存在?
为什么要npm start打开http://localhost:8000/public url ?

标签: reactjs

解决方案


我认为您不需要PUBLIC_URL直接访问,也不认为更改它是一个好习惯。如您所知,index.html 是始终呈现的单个页面,位于public目录内。因此,当您编译代码时,它会查找并呈现它index.html,这并不奇怪。PUBLIC_URL如果你想访问某个资产并想index.html直接添加它的路径,那么你可以使用PUBLIC_URL定义资产路径,否则在你的反应代码中访问资产,你可以通过提供路径直接访问它:/path/to/asset /内部/公共。例如,如果我img在公共文件夹中有图像 abc.jpeg,那么我可以直接在我的反应代码中访问它:

<img src="/img/abc.jpeg" />

推荐阅读