Comments (7)
for me, this isn't a bug as the whole point of the loader is to enable 'inline' use i.e. within the html.
for previous project where some svg's were still used as background images, we created a separate loader config in webpack and a separate directory for the background svg's
e.g.
{ test: /\.svg$/,
include: [/styles\/icons\/background-svgs/],
loader: 'url-loader' },
{
test: /\.svg$/,
exclude: [/styles\/icons\/background-svgs/],
loader: 'svg-inline'
}
from svg-inline-loader.
To make this work, I had to use a oneOf
rule and path.resolve
for the include
and exclude
rules, something like this:
{
test: /\.svg$/,
oneOf: [
{
exclude: path.resolve(__dirname, 'images/svg/css-icons/'),
use: 'svg-inline-loader'
},
{
include: path.resolve(__dirname, 'images/svg/css-icons/'),
use: 'file-loader'
},
],
},
from svg-inline-loader.
I can confirm this is not working for SVGs in stylesheets. Any updates on this?
from svg-inline-loader.
The transformation for data-format might be trivial, but I think it would be a bit hard to know if this (svg-inline) loader is being called from which loader. I assume you using css-loader?
from svg-inline-loader.
Yes, I'm using style-loader
+ css-loader
. I figured that there might not be an easy solution for this. Would it be possible to check against a path or extension given as a param to the loader? And only apply the transformation for files that match?
from svg-inline-loader.
I tried looking into how css-loader works with this(svg-inline) loader and there is no way svg-inline can understand where the request is coming from. I though loader contexts would give some meta information but I could not find any (if there is anything, please someone let me know).
They also do not allow any queries for url(...)
so unless someone fixes the css-loader (which I don't much want, they are tooo into css modules and all stuff) only way to fix this is, to have some kind of svg path convention and load it differently when a file follows the convention. I think it is pretty much like you mentioned above, @RadValentin.
While you are having trouble using css-loader + svg-inline I think you can try https://github.com/TrySound/postcss-inline-svg with some tweaked loader configurations. But I have seen a issue css-loader would break some result while using this postcss plugin, so I can't guarantee it works.
from svg-inline-loader.
I'm still experiencing this problem, nothing has changed by this point?
from svg-inline-loader.
Related Issues (20)
- Standardize README
- import returns base64 encoded URL HOT 2
- Parser won't transform xlink:href calls made from the <Image> tag
- Any plans for more releases? HOT 8
- Warning warning.js?8a56:36 Warning: Unknown props `elementName`, `defaultClassName` on <i> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop
- svg attr viewBox no have px
- inline styles? HOT 2
- Add an option "auto add class name from svg file name". HOT 3
- Need to update loaderUtils?
- Fails to add prefix for class names using characters escaping (with backslash)
- One set of Quotation marks coming extra HOT 2
- Disable options on files that match a specific name
- can't load svg file from html file using svg-inline-loader HOT 4
- Cannot add property value, object is not extensible
- Wonderful, but raises an issue. module.exports is in it HOT 5
- removeSVGTagAttrs causes Firefox to not display SVG
- Add height, width, and fill attributes to <svg> or <path> HOT 1
- Using this to display SVG's as a base64 string in an image src. (example/question) HOT 1
- Invalid close tag added for namespaced tags
- does not work in svelte HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from svg-inline-loader.