Webpack не может разрешить относительный импорт в упаковке - PullRequest
1 голос
/ 25 октября 2019

Я полностью в тупике. Я создал пакет sass и пытаюсь использовать его через npm в другом репо. Когда я импортировал пакет sass, сначала у меня были сбои, потому что webpack не смог разрешить ссылки на node_module в импортированном пакете. Такие вещи, как:

//my-sass-package/index.scss
@import '@fortawesome/fontawesome-pro/scss/variables';

Я добавил includePaths в свой sass-загрузчик, и это решило первоначальную проблему, но теперь не удается разрешить относительные пути к файлам шрифтов в пакете fontawesome.

Таким образом, цепочка потребления:

my-consuming-repo < my-styles-package < fontawesome

И здесь происходит сбой:

//fontawesome variables.scss
'../webfonts/*.woff 

Вот мой конфиг веб-пакета. Любая помощь с благодарностью !!

module.exports = async ({ config }) => {


    config.module.rules = [...config.module.rules, {
        test: /\.scss$/,
        use: [
            { loader: 'style-loader' },
            { loader: 'css-loader' },
            { 
                loader: 'sass-loader',
                options: {
                    sassOptions: {
                        includePaths: ['./node_modules']
                    }
                }
            }
        ]
    },
    {
        test: /\.woff2(\?v=[0-9]\.[0-9]\.[0-9])?$/i,
        loader: 'url-loader',
        options: {
            mimetype: 'application/font-woff2'
        }
    },
    {
        test: /\.woff(\?v=[0-9]\.[0-9]\.[0-9])?$/i,
        loader: 'url-loader',
        options: {
            mimetype: 'application/font-woff'
        }
    },
    // load these fonts normally, as files:
    {
        test: /\.(ttf|eot|svg|otf)(\?v=[0-9]\.[0-9]\.[0-9])?$/i,
        loader: 'file-loader'
    }]

    config.resolve = {
        modules: ['node_modules']
    }

    return config;
}

Точная ошибка

Module not found: Error: Can't resolve '../webfonts/fa-solid-900.woff2' in 'my-styles-package\sass'
...