"Параметр fallbackLoader устарел - замените на" резервный ",

После обновления моего проекта Angular CLI 1.0.0-beta.26 до Angular CLI 1.0.0-beta.30, я получаю следующие два предупреждения:

fallbackLoader option has been deprecated - replace with "fallback"
loader option has been deprecated - replace with "use"

как часть сборки.

Ответ 1

An Angular CLI PR был зафиксирован для устранения этих предупреждений, поэтому этот вопрос должен быть рассмотрен в 1.0.0-beta.31 и выше.

Чтобы устранить эти предупреждения сейчас, вы можете внести следующие изменения в конфигурацию webpack:

loader:          -->  use:
fallbackLoader:  -->  fallback:

Примечание. Если вы переустановите node_modules, вам нужно будет повторно выполнить эти изменения.

Подробнее

Для Angular CLI 1.0.0-beta.30, в node_modules/@angular/cli/models/webpack-configs/styles.js найдите раздел пути глобального стиля и измените его:

    loader: [
      ("css-loader?" + JSON.stringify({ sourceMap: cssSourceMap })),
    ].concat(commonLoaders, loaders),

    fallbackLoader: 'style-loader',

    publicPath: ''

в

    use: [
      ("css-loader?" + JSON.stringify({ sourceMap: cssSourceMap })),
    ].concat(commonLoaders, loaders),

    fallback: 'style-loader',

    publicPath: ''

Для Angular CLI 1.0.0-beta.26 в ./node_modules/angular-cli/models/webpack-build-styles.js найдите глобальный путь пути к стилю и измените его:

    loader: ['css-loader'].concat(commonLoaders, loaders),

    fallbackLoader: 'style-loader',

    publicPath: ''

в

    use: ['css-loader'].concat(commonLoaders, loaders),

    fallback: 'style-loader',

    publicPath: ''

Ответ 2

Для тех, кто использует Angular CLI 1.0.0-beta.26, правильный путь для определения и устранения этой проблемы:

node_modules/angular-cli/models/webpack-configs/styles.js

Вы должны увидеть это:

// load global css as css files
if (globalStylePaths.length > 0) {
    rules.push.apply(rules, baseRules.map(function (_a) {
        var test = _a.test, loaders = _a.loaders;
        return ({
            include: globalStylePaths, test: test, loaders: ExtractTextPlugin.extract({
                loader: [
                    // css-loader doesn't support webpack.LoaderOptionsPlugin properly,
                    // so we need to add options in its query
                    ("css-loader?" + JSON.stringify({ sourceMap: cssSourceMap }))
                ].concat(commonLoaders, loaders),
                fallbackLoader: 'style-loader',
                // publicPath needed as a workaround https://github.com/angular/angular-cli/issues/4035
                publicPath: ''
            })
        });
    }));
}
  • Измените загрузчик на use, а fallbackLoader на fallback

  • Обратите внимание, что это исправлено в последней версии.