Webpack перестал обрабатывать шрифты и изображения

вчера работал с Webpack и настроил базовый процесс, который работал.

Вернитесь сегодня, и шрифты больше не переносятся в папку «dist». Я внес изменения в файл конфигурации веб-пакета, чтобы попытаться обработать изображения, и с тех пор это не сработало. С тех пор я отменил изменения, но все еще не работает.

веб-пакет.config.js:

const path = require('path');

module.exports = {
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'build.js',
        publicPath: path.build
    },
    watch: true,
    module: {
        rules: [
            {
                test: /\.vue$/,
                loader: 'vue-loader',
            },
            {
                test:/\.(s*)css$/,
                use:['style-loader','css-loader', 'sass-loader']
            },
            {
                test: /\.(jpe?g|png|woff|woff2|eot|ttf|svg)(\?[a-z0-9=.]+)?$/, 
                loader: 'file-loader?name=fonts/[name].[ext]'
            }
        ]
    }
};

У меня есть шрифты в: src/fonts/averta/

Раньше они помещались в dist/fonts. Мой файл build.js все еще создается нормально. Любые идеи?


person Lovelock    schedule 09.01.2018    source источник


Ответы (2)


Думаю проблема в ваших загрузчиках.

Попробуйте один раз изменить объект module в файле webpack.config.js на это:

module : {
  rules: [
    {
      test: /\.vue$/,
      loader: 'vue-loader'
    }, {
      test: /\.scss$/,
      exclude: ['node_modules'],
      use: ['style-loader', 'css-loader?importLoaders=1', 'sass-loader']
    }, {
      test: /\.css$/,
      use: ['style-loader', 'css-loader']
    }, {
      test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
      use: ['file-loader']
    }, {
      test: /\.(woff|woff2)$/,
      use: ['url-loader']
    }, {
      test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
      use: ['url-loader?limit=10000&mimetype=application/octet-stream']
    }, {
      test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
      use: ['url-loader?limit=10000&mimetype=image/svg+xml']
    }, {
      test: /\.gif/,
      use: ['url-loader?limit=10000&mimetype=image/gif']
    }, {
      test: /\.jpg/,
      use: ['url-loader?limit=10000&mimetype=image/jpg']
    }, {
      test: /\.png/,
      use: ['url-loader?limit=10000&mimetype=image/png']
    }
  ]
}
person Syed    schedule 09.01.2018
comment
Не повезло, я не получаю ошибок, но шрифты не копируются, как раньше. - person Lovelock; 09.01.2018

Я исправил это, изменив ссылки в моих файлах SCSS.

Не совсем уверен, почему это работало раньше... мой URL-адрес src теперь просто указывает на имя файла, например:

src: url('averta-regular-webfont.ttf') format('truetype');
person Lovelock    schedule 09.01.2018