在使用VS的Task Runner运行的Gulp任务编译的Visual Studio(2019)中的项目之间共享scss文件时遇到问题。
我有一个使用MVC区域的ASP.NET Core(2.2)网站。每个区域都位于不同的Razor类库项目中。区域大部分是独立的,但它们确实共享一些样式,例如标头样式,控件,颜色,规范化等。我有一个类库,所有RCL都共享。基本控制器,ViewModel实现等。我也将共享的scss文件放在那里。我将RCL专用的scss文件放在应放置的位置,并指示任务运行程序执行gulp任务,该任务将在构建RCL之前为该RCL编译scss文件。然后将结果css设置为始终复制到发布目录,效果很好。
RCL结构:
- Areas
- Styles
--- main.scss
--- _partial1.scss
--- ...
--- _partialN.scss
--- _shared-"add as link".scss from elsewhere
- wwwroot / css / generated-css-goes-here.css
main.scss内容:
@import "shared-dependency1";
...
@import "shared-dependencyN";
@import "partial1";
...
@import "partialN";
我希望这会起作用,但是我得到了:
events.js:173
throw er; // Unhandled 'error' event
^
Error: Styles\main.scss
Error: File to import not found or unreadable: _colors.scss.
on line 2 of Styles/main.scss
>> @import "_colors.scss";
因此,链接共享文件似乎无效。在尝试一些奥秘的方法来获取共享文件之前,我决定在这里向你们问一个问题,以防万一有人已经解决了这个问题并愿意分享。
答案 0 :(得分:0)
我意识到我真的不需要费心链接共享文件。我选择使用相对路径到实际位置,并且可以正常工作。如果有人有更好的解决方案,请随时发表评论/添加其他答案。
RCL中的main.scss:
@import "../../Common/Styles/colors";
...
RCL中的_partialX.scss:
/// <reference path="../../Common/Styles/colors" />
...