reactjs - SASS 相对 url 配置错误
问题描述
我正在处理 React 项目,但在从scss
具有相对路径的文件中指向图像资产时遇到问题。一般来说,相对路径在本地工作,但是在部署到 github 页面之后,到图像资产的路由缺少该github repo name
部分。我不知道是 webpack 配置问题还是我写错了相对路径。
这是我的文件夹结构
├───config
│ └───jest
├───public
│ └───assets
│ ├───css
│ ├───fonts
│ ├───images
│ │ ├───background
│ │ ├───icons
│ │ ├───illustration
│ │ ├───logo
│ │ └───projects
│ │ ├───one
│ │ └───two
│ ├───js
│ └───scss
│ ├───blog
│ ├───common
│ ├───default
│ ├───elements
│ ├───header
│ └───template
├───scripts
└───src
├───component
│ ├───common
│ ├───footer
│ ├───header
│ └───slider
├───elements
│ ├───blog
│ ├───common
│ ├───portfolio
│ ├───projects
│ └───tab
└───home
scss 文件中定义的示例 url 路径:
.big-center-circle {
background: url("/assets/images/background/circle-1.svg") no-repeat center top,
}
部署中的结果路由
https://username.github.io/assets/images/background/circle-1.svg
部署中的所需路线
https://username.github.io/repository-name/assets/images/background/circle-1.svg
我react-router-dom
用于路由和相对路径在jsx
文件中正常工作。我只有 SCSS 样式表中的 url 有问题。
解决方案
解决了。我发现资产的 url 应该定义来自scss
放置在src
文件夹中的主文件的相对路径。
推荐阅读
- rust - 类型别名 `Point2` 在 Rust 中是私有的
- angular - 用于角业力测试的自定义 webpack 配置不能解析组件但适用于指令
- c# - 使用反射从类对象中获取属性,其中属性应该是公共的,并且具有 get 或 get 和 set 两者
- apache-kafka - 不能将单个消费者组的超过 3 个 kafka 消费者放入单个进程中
- amazon-web-services - 我的用户数据脚本没有从 ssm 获取参数
- c - 如何为 printf 设置条件以仅从文件中打印特定项目的数据
- c# - 当我尝试创建迁移时缺少 .dll
- c++ - 类初始化没有匹配的构造函数
- common-lisp - 为什么 setq 什么都不做?
- python - Django'change'找不到现有对象