是否有任何官方文档指定 ~ (代字号)在 Angular scss 导入路径中解析为 node_modules/?
Is there any official documentation specifying that ~ (tilde) resolves to node_modules/ in Angular scss import paths?
在 scss 导入路径中使用代字号 (~
) 时,它会在 Angular 中扩展为 node_modules/
。是否有任何官方文档说这是 Angular 或 webpack 的功能?
到目前为止,我在这件事上只发现了一些关于以前的 angular 版本的错误报告,说它已经坏了,还有一条评论说它是 an implementation detail that shouldn't be relied upon。
我希望执行 ng eject
并检查配置,但该命令不再可用。
如果有人能指出一些官方文档说明 ~
是 shorthand node_modules/
的路径或一段源代码,我将不胜感激(例如配置文件)指定替换。 :)
基本上,我想弄清楚为什么会这样,以及如何工作。
这是 WebPack 的一个特性。波浪号解析由 Webpack 的 sass-loader 插件处理。我相信此功能的好处是 导入 资源(例如字体、图像等)到 CSS 文件中,直接从您的 WebPack 包中。因此,它必须支持解析 WebPack 路径的相同语法。
它在 importsToResolve.js
文件中实现。
这是一个很棒的功能,但是当您想在 WebPack 和非 Webpack 项目之间共享 SASS 文件时会出现问题,因为 node-sass 不支持此功能。
在 scss 导入路径中使用代字号 (~
) 时,它会在 Angular 中扩展为 node_modules/
。是否有任何官方文档说这是 Angular 或 webpack 的功能?
到目前为止,我在这件事上只发现了一些关于以前的 angular 版本的错误报告,说它已经坏了,还有一条评论说它是 an implementation detail that shouldn't be relied upon。
我希望执行 ng eject
并检查配置,但该命令不再可用。
如果有人能指出一些官方文档说明 ~
是 shorthand node_modules/
的路径或一段源代码,我将不胜感激(例如配置文件)指定替换。 :)
基本上,我想弄清楚为什么会这样,以及如何工作。
这是 WebPack 的一个特性。波浪号解析由 Webpack 的 sass-loader 插件处理。我相信此功能的好处是 导入 资源(例如字体、图像等)到 CSS 文件中,直接从您的 WebPack 包中。因此,它必须支持解析 WebPack 路径的相同语法。
它在 importsToResolve.js
文件中实现。
这是一个很棒的功能,但是当您想在 WebPack 和非 Webpack 项目之间共享 SASS 文件时会出现问题,因为 node-sass 不支持此功能。