Когда следует использовать ключевое слово 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]',
},
},
],
},