将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"
作为构建的一部分。
将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"
作为构建的一部分。
一个 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: ''
一个 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: ''
对于那些使用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
另请注意,最新版本已修复此问题。