将我的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"
作为构建的一部分。
答案 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
另请注意,这已在最新版本中修复。