【问题标题】:How to import scss files from one project into another in Visual Studio如何在 Visual Studio 中将 scss 文件从一个项目导入另一个项目
【发布时间】:2019-07-03 00:51:41
【问题描述】:

我在使用 VS 的 Task Runner 运行的 Gulp 任务编译的 Visual Studio (2019) 中的项目之间共享 scss 文件时遇到问题。

我有一个使用 MVC 区域的 ASP.NET Core (2.2) 网站。每个区域都位于不同的 Razor 类库项目中。区域大多是独立的,但它们确实共享一些样式,例如样式标题、控件、颜色、规范化等。我有一个由所有 RCL 共享的类库。基本控制器、ViewModel 实现等。我也将共享的 scss 文件放在那里。我将特定于 RCL 的 scss 文件放在它们应该去的地方,并指示任务运行程序执行 gulp 任务,该任务将在构建之前为该 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";

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

【问题讨论】:

  • 你应该可以为他们创建包,发布到 NPM,然后import他们到你的项目中。

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


【解决方案1】:

我意识到我真的不需要为链接共享文件而烦恼。我选择使用到实际位置的相对路径并且它有效。如果有人有更好的解决方案,请随时评论/添加另一个答案。

RCL 中的 main.scss:

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

RCL 中的_partialX.scss:

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

【讨论】:

  • 这看起来像我需要的,csproj 中的完整条目是什么?谢谢
  • @ᴍᴀᴛᴛʙᴀᴋᴇʀ 我没有添加任何特别的东西,只是通常的“添加文件”> scss。与此同时,这个项目发生的事情是,我将它拆分为 40 个网站,这些网站作为子项部署在 IIS 上。我把共享的scss文件放到了一个普通的DLL工程中,并调整了引用路径。
猜你喜欢
  • 1970-01-01
  • 2015-10-14
  • 2016-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 2011-11-08
相关资源
最近更新 更多