React Webpack Недопустимый объект параметров. CSS Загрузчик инициализирован с помощью объекта параметров - PullRequest
1 голос
/ 07 августа 2020

Привет, ребята, я попытался извлечь свой веб-пакет на may create-response-app через npm run eject

А затем внутри config/webpack.config.js Я искал эту часть:

 isEnvDevelopment && require.resolve('style-loader'),
      isEnvProduction && {
        loader: MiniCssExtractPlugin.loader,
        // css is located in `static/css`, use '../../' to locate index.html folder
        // in production `paths.publicUrlOrPath` can be a relative path
        options: paths.publicUrlOrPath.startsWith('.')
          ? { publicPath: '../../' }
          : {},
      },
      {
        loader: require.resolve('css-loader'),
        options: cssOptions,
      },

Где Вместо этого я планирую использовать модуль CSS. Поэтому замените некоторые настройки на параметры:

loader: require.resolve('css-loader'),
options: {
  importLoaders: 1,
  modules: true,
  // This will generate these unique CSS files
  // once we import them from the object
  localIdentName: '[name]__[local]__[hash:base64:5]'
}
}

Но это не сработало. Обычно webpack имеет два конфига webpack.config.dev.js и webpack.config.production.js. В итоге выводится следующая ошибка:

./src/index.css (./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-3-1!./node_modules/postcss-loader/src??postcss!./src/index.css)
ValidationError: Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'localIdentName'. These properties are valid:
   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }

Есть идеи, как это исправить?

Вы можете проверить весь файл webpack здесь: https://jsfiddle.net/15z2v9ju/

1 Ответ

0 голосов
/ 07 августа 2020

Основываясь на вашем комментарии, я предлагаю найти и добавить больше вашей опции в функцию getStyleLoaders, где в настоящее время используется:

getStyleLoaders({
  importLoaders: 1,
  modules: {
    localIdentName: '[name]__[local]__[hash:base64:5]'
  },
})
                 

Однако, похоже, что ваша конфигурация устарела. localIdentName параметры, похоже, перемещаются в modules вместо

...