我处于一个有角度项目的情况。让我们称之为项目A.项目A已经完成,它有很多有用的组件,比如自己的材料组件(自己选择,自己的复选框......等等)。我这次需要创建项目B,但将来也许项目C,D,E ..即将到来。我想与他们分享材料而不发表。所以我在项目A中创建了材料模块。该模块声明并导出材料组件。在(新)项目B中我相对导入材料模块。显然是因为我想使用他的组件。不幸的是,材质组件的样式是用scss编写的。
我也在项目中使用变量。为什么不?这是scss最强大的功能之一。所以我创建了一个包含scss变量函数mixins等的全局文件。我这样导入它:
@import "~scss/_global.scss";
.material-componenet{
color: $variableFromGlobal;
}
项目A仍然正常运作。另一方面,当我构建项目B时,它找不到“~scss / _global.scss”文件,因为它在项目B中查找它。我想避免代码重复。 (A B C D E ..在树结构中可以相互远离)
我知道这是一个特殊问题,但任何想法都会有所帮助。
感谢您的时间和答案!
答案 0 :(得分:0)
有趣的问题,我假设您对所有项目使用node_modules
或src
文件夹。
如果项目A是已经通过npm
发布的模块,那么你可以做你做过的事情
@import" ~project1 / scss / _global.scss"
~
符号会查看node_modules
。
如果项目A是src
或src
之外的文件夹,则可以
@import" ../ lib / project1 / scss / _global.scss"
import
了解相对链接。