是否有任何官方文档指定〜(波形符)解析为 Angular scss 导入路径中的node_modules/?

Chr*_*ian 5 import sass tilde-expansion webpack angular

~当在 scss 导入路径中使用波形符 ( ) 时,它会node_modules/在 Angular 中扩展为。有没有任何官方文档说这是 Angular 或 webpack 的一个功能?

到目前为止,我在这个问题上发现的只是一些以前的 Angular 版本的错误报告,称它已损坏,还有一条评论说这是一个不应该依赖的实现细节

我希望执行ng eject并检查配置,但该命令不再可用。

如果有人可以向我指出一些官方文档,说明它是~的路径的简写node_modules/,或者指定该替换的源代码(例如配置文件),我将不胜感激。:)

基本上,我想弄清楚为什么它会起作用以及如何起作用。

Rea*_*lar 5

这是 WebPack 的一个功能。波浪线解析由Webpack 的sass-loader插件处理。我相信这个功能的好处是直接从 WebPack 包中将字体、图像等资源导入到 CSS 文件中。因此,它必须支持相同的语法来解析 WebPack 路径。

它是在importsToResolve.js文件中实现的。

https://github.com/webpack-contrib/sass-loader/blob/aa9b53b4d1c14117c4ca114a13cecb6e53b4e87a/src/importsToResolve.js#L12

这是一个很棒的功能,但是当您想要在 WebPack 和非 Webpack 项目之间共享 SASS 文件时会带来问题,因为node-sass不支持此功能。