如何在Visual Studio中将Scss文件从一个项目导入另一个项目

时间:2019-07-03 00:51:41

标签: sass gulp visual-studio-2019 multiple-projects

在使用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";

因此,链接共享文件似乎无效。在尝试一些奥秘的方法来获取共享文件之前,我决定在这里向你们问一个问题,以防万一有人已经解决了这个问题并愿意分享。

1 个答案:

答案 0 :(得分:0)

我意识到我真的不需要费心链接共享文件。我选择使用相对路径到实际位置,并且可以正常工作。如果有人有更好的解决方案,请随时发表评论/添加其他答案。

RCL中的main.scss:

@import "../../Common/Styles/colors";
...

RCL中的_partialX.scss:

/// <reference path="../../Common/Styles/colors" />
...