【问题标题】:How to Remove Sass Dependencies from Existing Angular 7 app如何从现有的 Angular 7 应用程序中删除 Sass 依赖项
【发布时间】:2019-01-21 17:40:31
【问题描述】:

已继承设置为使用 Sass 的 Angular 7 应用程序。我们实际上不使用 sass,所以长话短说,我想简化构建管道并消除安装 Python 和 Windows 开发工具的需要。

我已按照this link 的说明进行操作

将应用程序配置为使用 css 而不是 sass,但它不会改变实际的依赖关系。当我执行 npm install 时,它仍然会尝试安装 sass-loader 等并运行 python。这些 sass 依赖项似乎都没有出现在 package.json 中,所以我什至无法手动摆脱它们。

Angular 似乎已经变成了一个非常黑匣子......任何建议都将受到欢迎。

【问题讨论】:

  • 非常确定您需要做的就是更改angular.json 上的配置,其中"@schematics/angular:component" 位于使用scss,因此值将是"styleext": "scss"。然后将所有sassextension 重命名为scss
  • 这就是我的想法,但 npm install 仍在执行所有 sass、gyp 等操作并运行 python。我只想摆脱。

标签: angular sass npm-install


【解决方案1】:

我相信依赖来自 angular devkit 作为可选依赖。 github.com/angular/angular-cli/blob/master/packages/…。使用 --no-optional 安装应该跳过它。

至于构建的其他部分,其他人需要推荐一些东西,但可能不值得花时间投资,因为它是一个框架(严格的意见)。

您可能需要进行批量文件重命名。您可以编写一个脚本来检查每个应用程序文件并从 sass 更改为 scss。同时,您必须在文件中查找每个引用并进行相同的更改。

就“css”的东西而言,SCSS SASS(两种不同的语法),只是新版本(Sassy CSS)。

就包依赖而言,仍然使用相同的“SASS”依赖。

【讨论】:

  • 项目中根本没有sass,只有css。我无法弄清楚这些 sass 依赖项是如何或为什么存在的,因为我没有创建应用程序。我不希望在我的 CI 环境中增加 Wndows 构建工具的开销,因此我需要从项目中删除 sass 依赖项。在 Angular 7 中似乎没有明显的方法来执行此操作 - 我什至在 package.json 中都看不到这些包的条目。
  • 哦,我将 css 误读为 scss .. 我的错!无论如何,我相信依赖来自 angular devkit 作为可选依赖。 github.com/angular/angular-cli/blob/master/packages/… 。使用 --no-optional 安装应该跳过它。
  • 是的 - 卸载 angular devkit 然后使用 npm install --no-optional @angular-devkit/build-angular 重新安装似乎可以解决问题。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 2011-04-29
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 2021-06-12
  • 2019-01-22
相关资源
最近更新 更多