@neutrinojs/image-loader
Version: 
Neutrino middleware for importing and loading image files from modules
104 lines (76 loc) • 2.88 kB
Markdown
`@neutrinojs/image-loader` is Neutrino middleware for loading and importing image files from modules.
[![NPM version][npm-image]][npm-url]
[![NPM downloads][npm-downloads]][npm-url]
[![Join the Neutrino community on Spectrum][spectrum-image]][spectrum-url]
- Node.js v6 LTS, v8, v9
- Yarn v1.2.1+, or npm v5.4+
- Neutrino v8
`@neutrinojs/image-loader` can be installed via the Yarn or npm clients.
```bash
❯ yarn add @neutrinojs/image-loader
```
```bash
❯ npm install --save @neutrinojs/image-loader
```
`@neutrinojs/image-loader` can be consumed from the Neutrino API, middleware, or presets. Require this package
and plug it into Neutrino:
```js
// Using function middleware format
const images = require('@neutrinojs/image-loader');
// Use with default options
neutrino.use(images);
// Usage showing default options
neutrino.use(images, {
  limit: 8192,
  svg: {},
  img: {},
  ico: {}
});
```
```js
// Using object or array middleware format
// Use with default options
module.exports = {
  use: ['@neutrinojs/image-loader']
};
// Usage showing default options
module.exports = {
  use: [
    ['@neutrinojs/image-loader', {
      limit: 8192,
      svg: {},
      img: {},
      ico: {}
    }]
  ]
};
```
- `limit`: Return a Data URL if the file is smaller than a byte limit.
- `svg`: Set options for the url-loader used when loading svg files.
- `img`: Set options for the url-loader used when loading png, jpeg, gif, and webp files.
- `ico`: Set options for the url-loader used when loading ico files.
`@neutrinojs/image-loader` creates some conventions to make overriding the configuration easier once you are
ready to make changes.
The following is a list of rules and their identifiers which can be overridden:
| Name | Description | Environments and Commands |
| --- | --- | --- |
| `img` | Allows importing JPEG, PNG, GIF, and WEBP files from modules. Contains a single loader named `url`. | all |
| `svg` | Allows importing SVG files from modules. Contains a single loader named `url`. | all |
| `ico` | Allows importing ICO files from modules. Contains a single loader named `url`. | all |
This middleware is part of the [neutrino-dev](https://github.com/mozilla-neutrino/neutrino-dev) repository, a monorepo
containing all resources for developing Neutrino and its core presets and middleware. Follow the
[](https://neutrino.js.org/contributing) for details.
[]: https://img.shields.io/npm/v/@neutrinojs/image-loader.svg
[]: https://img.shields.io/npm/dt/@neutrinojs/image-loader.svg
[]: https://npmjs.org/package/@neutrinojs/image-loader
[]: https://withspectrum.github.io/badge/badge.svg
[]: https://spectrum.chat/neutrino