【发布时间】:2019-01-02 09:07:24
【问题描述】:
Webpack 配置:
- 对于
.svg,我使用 config:{ test: /\.svg$/, use: ['svgr/webpack'] } - 对于
.scss,我使用css-loader、postcss-loader和sass-loader
文件夹结构:
我的文件夹结构如下所示:
- App
-- styles
--- globals.scss // Here I import my partials
--- partials
---- _my_partial.scss
-- icons
--- svgs
---- my_icon.svg
svgr 加载器:
我喜欢svgr loader,因为它允许我只导入我的图标并将其用作 React 组件:
import MyIcon from './icons/svgs/my_icon.svg';
...
<MyIcon />
实际问题:
我对这种方法很好,但我必须将其中一个 svg 作为background-image,所以在_my_partial.scss 里面我写道:
background-image: url(../icons/svgs/my_icon.svg);
我在这个url 中只有一个文件夹,因为在上升两个时,它抱怨它无法解决它 - 我想这是因为我在我的globals.scss 中导入了我的部分。
通过这个设置,我在浏览器中得到的只是:
GET http://localhost:3005/[object%20Module] 404 (Not Found)
【问题讨论】:
-
“我在这个
url中只有一个文件夹,因为当上升两个时,它抱怨它无法解决它”。两个文件夹中的导入是怎么写的? -
我的意思是,当我编写路径
../../icons/svgs/my_icon.svg时,它抱怨它无法解决它。它现在没有抱怨,当我写../icons/svgs/my_icon.svg
标签: javascript reactjs svg webpack sass