base64-inline-loader

2.0.1 • Public • Published

base64-inline-loader

A Base64 loader for webpack. Encodes all binary files to Base64 strings.

Installation

npm

npm install base64-inline-loader --save

or

yarn

yarn add -D base64-inline-loader

Usage

Config

const path = require('path');

module.exports = [
    {
        ...

        module: {
            rules: [
                {
                    test: /\.(jpe?g|png|ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
                    use: ['base64-inline-loader']
                }
            ]
        }

        ...
    }
];

Input

@font-face {
    font-family: 'icons';
    src: url('./icon.woff');
}

body {
    background-image: url('./image.png');
}

Output

@font-face {
    font-family: 'icons';
    src: url('data:application/x-font-woff;charset=utf-8;base64,[BASE_64_STRING...]')
}

body {
    background-image: url('data:application/png;charset=utf-8;base64,[BASE_64_STRING...]');
}

Options

  • limit — The limit can be specified with a query parameter.
{
    use: {
        loader: 'base64-inline-loader',
        options: {
            limit: 1000
        }
    }
}
  • typeMapper — use this option to fix your non-standard MIME types
{
    use: [
        {
            loader: 'base64-inline-loader',
            options: {
                typeMapper: {
                    'text/less': 'text/css'
                }
            }
        },
        'less-loader'
    ]
}
<link rel="stylesheet" href="data:text/less;charset=utf-8;base64,Lm54dC1lcnJvci1wYW..." />

Tests

npm test

Readme

Keywords

Package Sidebar

Install

npm i base64-inline-loader

Weekly Downloads

19,367

Version

2.0.1

License

MIT

Unpacked Size

5.07 kB

Total Files

7

Last publish

Collaborators

  • monolithed