2017-02-06 4 views
11

После модернизации моего Угловое CLI 1.0.0-beta.26 проект Угловая CLI 1.0.0-beta.30, я получаю следующее два предупреждения:«вариант fallbackLoader устарел - заменить„запасной вариант“»

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

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

ответ

9

Angular CLI PR has been committed для устранения этих предупреждений, поэтому this issue следует адресовать в 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: '' 
+1

Обязательно используйте @ angular/cli not angular-cli, они перестали обновлять последний. –

+0

Я не думаю, что это все еще актуально, проверьте эту ошибку: 'Неверный объект конфигурации. Webpack был инициализирован с использованием объекта конфигурации, который не соответствует схеме API. - configuration.module.rules [1] имеет неизвестное свойство «fallback». – Anselm

+0

Может быть, @Lofus - рассмотреть возможность открытия новой проблемы со всеми подробностями, чтобы можно было поделиться более актуальной информацией ... –

1

Для тех, кто использует угловую 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

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

+1

Я не вижу в вашем ответе дополнительной или новой информации, Ellis ... –

+0

Похоже, что путь, на который вы указываете, до -30 - тот же путь, что и я, во втором разделе в ** Подробности * * ... –

+0

Несомненно, нет никакой разницы и ничего нового, но просто чтобы помочь людям быть уверенными в том, что посмотреть, когда они попадут в конкретный файл 'style.js'. –