Angular项目中Sass @import规则废弃警告的解决咨询
Angular项目中Sass @import规则废弃警告的解决咨询
我最近在运行我的Angular项目时,碰到了一堆Sass @import 规则的废弃警告,系统还提示有2条重复警告被省略了。这些警告明确说Sass的@import语法会在Dart Sass 3.0.0版本中被移除,具体的警告详情如下:
[WARNING] 2 repetitive deprecation warnings omitted. Run in verbose mode to see all warnings. [plugin angular-sass] angular:styles/global:styles:1:8: 1 │ @import 'src/theme/global.scss'; ╵ ~~~~~~~~~~~~~~~~~~~~~~~ null ▲ [WARNING] Deprecation [plugin angular-sass] src/theme/global.scss:27:8: 27 │ @import './variables.scss'; ╵ ^ Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import The plugin "angular-sass" was triggered by this import angular:styles/global:styles:1:8: 1 │ @import 'src/theme/global.scss'; ╵ ~~~~~~~~~~~~~~~~~~~~~~~ ▲ [WARNING] Deprecation [plugin angular-sass] src/theme/global.scss:28:8: 28 │ @import './fonts.scss'; ╵ ^ Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import The plugin "angular-sass" was triggered by this import angular:styles/global:styles:1:8: 1 │ @import 'src/theme/global.scss'; ╵ ~~~~~~~~~~~~~~~~~~~~~~~ ▲ [WARNING] Deprecation [plugin angular-sass] src/theme/global.scss:29:8: 29 │ @import './sizes.scss'; ╵ ^ Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import The plugin "angular-sass" was triggered by this import angular:styles/global:styles:1:8: 1 │ @import 'src/theme/global.scss'; ╵ ~~~~~~~~~~~~~~~~~~~~~~~ ▲ [WARNING] Deprecation [plugin angular-sass] src/theme/global.scss:30:8: 30 │ @import './miscellaneous.scss'; ╵ ^ Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import The plugin "angular-sass" was triggered by this import angular:styles/global:styles:1:8: 1 │ @import 'src/theme/global.scss'; ╵ ~~~~~~~~~~~~~~~~~~~~~~~ ▲ [WARNING] Deprecation [plugin angular-sass] src/theme/global.scss:31:8: 31 │ @import './positions.scss'; ╵ ^ Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import The plugin "angular-sass" was triggered by this import angular:styles/global:styles:1:8: 1 │ @import 'src/theme/global.scss'; ╵ ~~~~~~~~~~~~~~~~~~~~~~~ ▲
我的项目依赖配置(package.json片段)如下:
{ "name": "", "version": "1.5.24", "author": "", "homepage": "", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build --prod", "lint": "ng lint" }, "private": true, "dependencies": { "@angular/cdk": "20.1.5", "@angular/common": "20.1.6", "@angular/core": "20.1.6", "@angular/forms": "20.1.6", "@angular/platform-browser": "20.1.6", "@angular/platform-browser-dynamic": "20.1.6", "@angular/router": "20.1.6", "@capacitor-community/sqlite": "5.0.0", "@capacitor-firebase/authentication": "5.1.0", "@capacitor/android": "5.2.3", "@capacitor/app": "5.0.0", "@capacitor/camera": "5.0.0", "@capacitor/core": "5.2.3", "@capacitor/filesystem": "5.2.1", "@capacitor/haptics": "5.0.0", "@capacitor/ios": "5.2.3", "@capacitor/keyboard": "5.0.0", "@capacitor/network": "5.0.0", "@capacitor/preferences": "5.0.0", "@capacitor/splash-screen": "5.0.0", "@capacitor/status-bar": "5.0.0", "@ionic/angular": "8.7.2", "@sentry/angular": "^9.38.0", "@sentry/capacitor": "2.1.0", "@types/lodash": "4.14.178", "dayjs": "1.10.7", "firebase": "9.6.10", "guid-typescript": "1.0.9", "lodash": "4.17.21", "native-run": "^2.0.1", "rxjs": "7.5.0", "tslib": "2.8.1", "zone.js": "0.15.1" }, "devDependencies": { "@angular-eslint/builder": "20.1.1", "@angular-eslint/eslint-plugin": "20.1.1", "@angular-eslint/eslint-plugin-template": "20.1.1", "@angular-eslint/template-parser": "20.1.1", "@angular/build": "^20.1.5", "@angular/cli": "20.1.5", "@angular/compiler": "20.1.6", "@angular/compiler-cli": "20.1.6", "@angular/language-service": "20.1.6", "@capacitor/cli": "5.0.0", "@ionic/angular-toolkit": "^11.0.1", "@sentry/cli": "2.20.7" } }
目前我了解到这些警告是因为项目里的global.scss等文件还在使用旧的@import语法导入其他样式模块,想请教各位:
- 在当前Angular 20.x版本的项目中,应该把
@import替换成什么新语法? - 有没有自动化的迁移工具可以批量处理这些导入语句,避免手动修改出错?
- 迁移完成后需要做哪些验证,确保项目的样式渲染不受影响?
内容来源于stack exchange
相关产品推荐
相关产品推荐

