Когда следует использовать ключевое слово use против ключевого слова loader в Webpack 2?

Я пытаюсь перейти на Webpack 2, и я немного запутался. По этой ссылке говорится, что мы должны заменить module.loaders на module.rules, и похоже, что синтаксис загрузчиков заменяется использованием, которое может иметь объекты в массиве, у которого в качестве свойства находится загрузчик:

https://webpack.js.org/guides/migrating/

Но дальше сказано: // Do not use "use" here Когда это не массив, а один загрузчик.

Это немного сбивает с толку, и я не понимаю этого. Когда я должен использовать "использовать" и когда я должен использовать "загрузчик" / "загрузчики"?

1 ответ

Решение

По сути, если у вас один тип файла, который использует несколько загрузчиков, используйте "use". например

module: {
    rules: [
        {
            test: /\.less$/,
            use: [
                'style-loader',
                ...cssLoaders,
                lessLoader
            ],
        },
        {
            test: /\.css$/,
            use: [
                'style-loader',
                ...cssLoaders,
            ],
        },
        {
            enforce: 'pre',
            test: /\.jsx?$/,
            loader: 'eslint-loader',
            include: assetsDir,
        },
        {
            test: /\.jsx?$/,
            include: assetsDir,
            loader: 'babel-loader',
        },
        {
            test: /\.(jpe?g|png|gif|svg)($|\?)/i,
            loader: 'url-loader',  // Inline images if they're less than 2 KiB
            options: {
                limit: 2048,
                name: '[name]-[sha1:hash:hex:10].[ext]',
            }
        },
        {
            test: /\.(eot|ttf|woff2?|htc)($|\?)/i,
            loader: 'file-loader',
            options: {
                name: '[name]-[sha1:hash:hex:10].[ext]',
            },
        },
    ],
},
Другие вопросы по тегам