1.0.1 • Published 2 years ago

static-font-min-loader v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

fontmin loader for webpack

一个webpack的loader,用来压缩生成字体。

NOTE: Node v10+ and webpack v4+ are supported and tested.

关于

读取指定文件文本,使用fontmin压缩用到的字体。

安装

npm install --save-dev static-font-min-loader

使用

const webpackConfig = {
    module: {
        rules: [
            {
                test: /\.(otf|ttf|svg|svgs|eot|woff|woff2)(\?.*)?$/,
                type: 'javascript/auto',
                loader: 'static-font-min-loader',
                options: {
                    fileLoaderOptions: {
                        name: 'font/[name].[hash:8].[ext]'
                    }
                }
            }
        ]
    }
}

module.exports = webpackConfig
@font-face {
    font-family: 'source';
    src:
        url('../font/source.ttf?to=eot') format('embedded-opentype'),
        url('../font/source.ttf?to=woff2') format('woff2'),
        url('../font/source.ttf?to=woff') format('woff'),
        url('../font/source.ttf?to=svg') format('svg'),
        url('../font/source.ttf') format('truetype');
}

在source.ttf的文件夹中创建source.txt文本文件,里面包含需要压缩的文字。

选项

{
    // 包含需要切割的文本的文件, 如果include、exclude存在,links失效。
    //
    // type: array|string
    // default: loaderContext.resourcePath.replace(/\.([\w\d]+)$/, '.txt')
    links: [],

    // 包含的文件。
    //
    // type: RegExp?
    include: null,

    // 排除的文件
    //
    // type: RegExp?
    exclude: null,

    // 文本过滤。
    //
    // type: function(text: string): string
    filter: text => text,

    // file-loader的options。
    // See https://github.com/webpack-contrib/file-loader
    //
    // type: object?
    fileLoaderOptions: {}
}