使用变量SASS导入路径
我想导入一个使用变量的文件 我的代码(不起作用): 错误消息:使用变量SASS导入路径,sass,Sass,我想导入一个使用变量的文件 我的代码(不起作用): 错误消息:错误:要导入的文件找不到或不可读:#{$input field theme} 这是有效的:@import'default'此时不可能,请在2012年查看此项以了解更多信息 理由如下: 允许动态导入将完全破坏Sass快速确定哪些文件导入哪些其他文件的能力,从而确定何时需要重新编译哪些文件 该线程还包含指向另一个问题的链接,该问题讨论了动态依赖关系的未来计划: 我现在锁定这个问题,因为有很多噪音 增加了很多价值。总而言之,这是一个计划:
错误:要导入的文件找不到或不可读:#{$input field theme}
这是有效的:
@import'default'代码>此时不可能,请在2012年查看此项以了解更多信息
理由如下:
允许动态导入将完全破坏Sass快速确定哪些文件导入哪些其他文件的能力,从而确定何时需要重新编译哪些文件
该线程还包含指向另一个问题的链接,该问题讨论了动态依赖关系的未来计划:
我现在锁定这个问题,因为有很多噪音
增加了很多价值。总而言之,这是一个计划:
新的@use
指令将提供将文件作为
mixin,所以您可以动态地决定是否以及在何处包含它。
这将使Sass与其他工作良好的语言更加一致
没有动态导入,因为这意味着导入不再具有
不可避免的副作用
我们将添加一个load()
函数,该函数将允许
基于变量值在运行时加载文件的样式表。这
将支持需要创建样式表的更复杂的用例
基于用户输入加载,同时保持静态
跟踪导入图及其定义的mixin和函数
另一种解决方案是,如果使用Gulp编译SASS文件,则需要在配置中引入includePaths。然后,一旦您从文件夹导入任何模块,它就会考虑查看您在“includePaths”中引入的路径。
Ex)
现在,您已经设置了代码,可以从各种路径导入文件:
@import "promotion/code/styles/_promotion.scss";
要导入此文件,它将使用SASS-LOADER查看所有“includePath”。Webpack
:
我们可以将prependData
属性添加到sass加载程序
选项:
{
loader: 'sass-loader',
options: {
additionalData: '$env: ' + process.env.NODE_ENV + ';',
}
}
注意:prependData
也可以是接收加载程序上下文的函数。
祝你好运……好的,谢谢你,我会请导师来实施这一点。我在4月19日阅读了讨论。他们认为动态导入会使事情失去控制。另一方面,包括我在内的许多人都执着于动态主题。是的,CSS不是一个prog.lang,我们希望一切都在控制之中,但SCSS的想法来自于CSS的局限性。它通过变量和导入来扩展CSS,因此这将是他们发展项目的决定。现在,我们有另一个限制,如果有一个要求,人们会找到一种方法使用或不使用SCS。感谢他们,他们让CSS之后的生活变得更轻松。如果我能从“./some path/right here/this folder/this file.ttf”中执行类似的@import{myFontFile}的操作,我会非常喜欢的
然后在@font-face{…url('data:font/truetype;charset=utf-8;base64,{myFontFile.readFile()}')}中使用它
可能的重复非常棒。它在我的npm项目中对我有效。非常感谢!我使用它,它工作得很好——不过请注意,在最新版本中,字段名是additionalData
,而不是prependData
:
@import "promotion/code/styles/_promotion.scss";
{
loader: 'sass-loader',
options: {
additionalData: '$env: ' + process.env.NODE_ENV + ';',
}
}