reactjs - 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 ?
解决方案
我认为您不需要PUBLIC_URL
直接访问,也不认为更改它是一个好习惯。如您所知,index.html 是始终呈现的单个页面,位于public
目录内。因此,当您编译代码时,它会查找并呈现它index.html
,这并不奇怪。PUBLIC_URL
如果你想访问某个资产并想index.html
直接添加它的路径,那么你可以使用PUBLIC_URL
定义资产路径,否则在你的反应代码中访问资产,你可以通过提供路径直接访问它:/path/to/asset /内部/公共。例如,如果我img
在公共文件夹中有图像 abc.jpeg,那么我可以直接在我的反应代码中访问它:
<img src="/img/abc.jpeg" />
推荐阅读
- java - 无法正确读取拦截器中的请求主体 - Spring BOOT 2.0.4
- amazon-web-services - AWS ELB 访问日志可以格式化吗?
- java - JBehave Serenity:如何管理 baseURL 和相对 URL?
- c - C 编程:带星号的金字塔
- java - optaplanner 何时生成生成的 xml 文件?
- javascript - 遍历对象内的数组,console.log 工作,但我无法让它返回反应元素。
- git - 目录中的 Git 问题克隆
- java - 测试 RestTemplate 拦截器
- javascript - d3.datum 使用选定的选项值
- python - 特殊决策树