Comments (7)
@romulof It is probably encoding the path instead of the url because you have 2 loaders for the same file:
- the first loader (url) is encoding the image and returns a path to the encoded image
- the second loader (file) is encoding path to the encoded image
The solution is to use a single loader, similar to:
{
test: /\.(png|svg)$/,
loader: 'url',
query: {
limit: 10000,
name: 'assets/images/[name]-[sha512:hash:base64:7].[ext]'
}
}
from url-loader.
Oh, I just read the code!
url-loader
already uses file-loader
as fallback.
from url-loader.
I guess the problem lies in the documentation, because if I read:
The
url-loader
works like thefile-loader
, but can return a DataURL if the file is smaller than a byte limit.
https://webpack.js.org/loaders/url-loader/#usage
and even if I read about the limit
parameter later on:
If the file is greater than the limit (in bytes) the
file-loader
is used and all query parameters are passed to it.
I'm still not fully aware that I need to remove file-loader
and that I can pass all of file-loader
options within url-loader
.
from url-loader.
If I force the loader, it works correclty:
const tickImg = require('!!url!../assets/tick.svg');
...
from url-loader.
Here's my webpack loaders configuration:
{
test: /\.(png|svg)$/,
loader: 'url',
query: {
limit: 10000,
},
}, {
test: /\.(png|jpg|svg)$/,
loader: 'file',
query: {
name: 'assets/images/[name]-[sha512:hash:base64:7].[ext]',
},
}
from url-loader.
@julienevano, I'm not chaining the loaders. I have 2 distinct tests, one with url-loader
only and another with file-loader
only.
I'm not sure about how url-loader
works when the limit query don't match. Let's say: if the file is bigger than limit the loader refuses the file and Webpack tries to find another loader for it?
How do you file-loader
as fallback for url-loader
?
from url-loader.
I have the same issue in SCSS files. When the file size exceeds the limit, module.exports = __webpack_public_path__ + "...";
gets base64 encoded as the file content!
Did you find any solution?
from url-loader.
Related Issues (20)
- Specifying options as a query string does not work anymore
- Regarding the conversion of files to data urls, a less than condition was found to be missing HOT 1
- Corrupted or not proceed image matched multiple module rule simultaneously HOT 2
- How can i use name function with url-loader? HOT 1
- Limit option does not support 'Infinity' or 'Max Value' HOT 2
- Multiple references to the same asset in SASS/CSS `url()` breaks replacement process HOT 4
- [email protected] requires a peer of webpack@^4.0.0 but [email protected] was installed HOT 2
- Allow expressing limit as a function HOT 2
- `esModules: true` outputs `url([object Module])` instead of `url(base64String)` for inline local fonts? HOT 22
- Why url-loader stop supporting nodejs 8?, as webpack 5 still supporting nodejs 8 and higher? HOT 6
- url-loader 3.0.0 creates an erroneous export HOT 2
- Usage with require.context? HOT 1
- Blob Url Support HOT 1
- Images not inlined in Svelte 3 app HOT 1
- option to prefix URLs with `file://` HOT 3
- DataURL images also send network request to public path HOT 7
- [question] Do we have webpack 5 support coming for this lib? HOT 1
- NonErrorEmittedError: (Emitted value instead of an instance of Error) Error in parsing SVG: Non-whitespace before first tag. HOT 1
- Different default limit values in documentation HOT 3
- tree shake do not work with image HOT 2
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 url-loader.