Skip to content
This repository has been archived by the owner on May 30, 2022. It is now read-only.

monolithed/base64-inline-loader

Repository files navigation

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

Releases

No releases published

Packages

No packages published