Я создаю проект библиотеки, используя angular-cli.Следуя инструкциям из angular docs , я получаю одну папку ./root/src/app
, в которую можно поместить тестовое приложение, демонстрирующее возможности моей библиотеки, и одну папку ./root/projects/library-name
, содержащую функциональные возможности моей библиотеки..
Теперь, если я в своем ./root/src/app
хочу импортировать модули / компоненты / классы и т. Д., Angular-cli уже настроил мой tsconfig.json для меня с конфигурацией путей ключ / значение.
{
"compilerOptions": {
"paths": {
"my-library/*": [
"dist/my-library/*"
]
}
}
}
Это будет для всех целей, касающихся нашей ./root/src/app
, имитировать нашу библиотеку, устанавливаемую как node_module.
Таким образом, даже если библиотека построена на ./root/dist/library-name
, в моем тестовом приложении прекрасно работает следующее:
import { MyLibraryModule } from 'library-name';
Проблема
SCSSне соответствует тем же правилам, которые описаны в tsconfig.json.Если моя библиотека содержит некоторые scss, которые я хочу сделать доступными для потребителей моей библиотеки, я могу это сделать.Каждый, кто устанавливает мою библиотеку, может получить доступ к моему scss через
@import '~library-name/scss';
, но мое тестовое приложение не может.
Вопрос
Как настроить препроцессор scssКонфиг в angular.json
таким образом, что он подражает тому, что angular-cli сделал с моим tsconfig.json
, но для scss?Другими словами;Как я могу настроить angular-cli для установки псевдонима каталога для вывода моей сборки библиотеки?
EDIT Просто чтобы уточнить, что мой scss доступен после публикации библиотеки.Нет проблем, когда он потребляется другими приложениями.Моя проблема связана с публикацией scss внутри моего ./root/src/app
тестового приложения.