3

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

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

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

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

基本上,我想弄清楚为什么会这样,以及如何。

4

1 回答 1

2

这是 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不支持此功能。

于 2019-09-10T14:19:22.597 回答