Asp.net Sass转换:每个文件的预处理 问题
我们正在为SASS/SCSS使用System.Web.Optimization捆绑和BundleTransformer。是否可以在每个sass文件之前调用一些预处理?不仅在包中包含的文件之前,而且在使用@import导入文件之前 如果您想在捆绑包中的每个文件之前进行一些预处理,可以添加一些自定义IItemTransform或IBundletTransform,但想象一下:Asp.net Sass转换:每个文件的预处理 问题,asp.net,sass,system.web.optimization,bundletransformer,Asp.net,Sass,System.web.optimization,Bundletransformer,我们正在为SASS/SCSS使用System.Web.Optimization捆绑和BundleTransformer。是否可以在每个sass文件之前调用一些预处理?不仅在包中包含的文件之前,而且在使用@import导入文件之前 如果您想在捆绑包中的每个文件之前进行一些预处理,可以添加一些自定义IItemTransform或IBundletTransform,但想象一下: Main.scss: @import '_mixin'; some styles _mixin.scss:
Main.scss:
@import '_mixin';
some styles
_mixin.scss:
some mixins
Main.scss包含在bundle中并将进行预处理,但_mixin.scss不包含在bundle中,因此scss编译器将从磁盘获取原始文件,而无需任何预处理
编译过程中有什么挂钩吗?还是其他方式
我们为什么需要这个?
我们常见的静态文件位于核心项目中。此核心静态项目作为IIS中的虚拟目录包含在其他项目中(调试中)或复制(发布中)。有了这个解决方案,我们可以在任何项目中使用“/SharedStatic/”,它总是被解析的:在调试中作为虚拟目录,在发布中作为常规路径
所以right@import to core项目必须是这样的(与BundleTransformer一起使用):
但是VS intellisense(或R#intellisense)和WebEssentials intellisense不理解编译时的导入。Intellisense只了解这一点:
@import '../../../../CoreProject/Static/_mixin.scss'
所以,我们的想法是在将导入从'../../../'绑定到'~/'的过程中预处理scss文件,这样看来构建SASS并不容易 我们以另一种方式解决了这个问题:停止在IIS中使用虚拟目录,并在每个项目中包含指向共享人员的符号链接。现在看起来每个项目都有自己的/SharedStatic(它实际上是核心静态的符号链接)。这就解决了SCS的问题,因为我们可以在初始文件和编译前的文件中使用“../../SharedStatic/”,无需更改从一个到另一个的路径
@import '../../../../CoreProject/Static/_mixin.scss'