“fallbackLoader选项已被弃用 - 替换为”后备“”

时间:2017-02-06 20:40:04

标签: webpack angular-cli

将我的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"

作为构建的一部分。

2 个答案:

答案 0 :(得分:9)

Angular CLI PR has been committed来解决这些警告,因此1.0.0-beta.31应在loader: --> use: fallbackLoader: --> fallback: 及更高版本中解决。

要立即解决这些问题,您可以对webpack配置进行以下更改:

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: ''

为:

unlink.php

答案 1 :(得分:1)

对于使用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

  • 另请注意,这已在最新版本中修复。