Как импортировать файлы scss из одного проекта в другой в Visual Studio - PullRequest
0 голосов
/ 03 июля 2019

У меня проблемы с совместным использованием файлов scss между проектами в Visual Studio (2019), скомпилированными с помощью задач Gulp, запущенных VS 'Task Runner.

У меня есть один веб-сайт ASP.NET Core (2.2), в котором используются области MVC. Каждая область находится в отдельном проекте библиотеки классов Razor. Области в основном независимы, но они разделяют некоторые стили, такие как стилизация заголовка, элементов управления, цветов, нормализации и т. Д. У меня есть одна библиотека классов, которая используется всеми RCL. Базовый контроллер, реализация ViewModel и т. Д. Я также разместил там общие файлы scss. Я поместил специфичные для RCL файлы scss туда, куда они должны идти, и дал указание исполнителю задач выполнить задачу gulp, которая скомпилирует файлы scss для этого RCL перед его сборкой. Результирующий 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 content:

@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 голосов
/ 03 июля 2019

Я понял, что мне не нужно беспокоиться о связывании общих файлов.Я решил использовать относительные пути к фактическим местам, и это работает.Если у кого-то есть лучшее решение, не стесняйтесь комментировать / добавить другой ответ.

main.scss в RCL:

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

_partialX.scss в RCL:

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