Включение общего стиля в приложение NativeScript с использованием angular.json stylePreprocessor

Я пытаюсь использовать Angular 6 stylePreprocessorOptions так что я могу просто @import 'app' импортировать брендинг / другие общие стили в компонент.

Мой проект nativescript существует в настройке NxWorkspace, которая сама содержит angular.json,

Документация от @nativescript/schematics говорит, чтобы генерировать новый angular.json файл в корне проектов NativeScript, который я сделал, но я также поместил клон определения в мой корень NxWorkspace angular.json файл, так как мне неясно, который используется.

angular.json Содержание файла можно найти здесь: https://hastebin.com/zajiviqoyi.json

При попытке использовать @import "app" это говорит мне, что не может найти app относительно файла, где я сделал строку импорта. В других моих установках приложения, но NativeScript в этом случае, кажется, игнорирует мою конфигурацию.

1 ответ

Через некоторое время я смог решить это сам.

Я должен был отредактировать webpack.config.jsконкретно sass-loader,

Если вы измените sass-loader часть .scss правила, вы можете добавить includePaths добиться резервного разрешения файла для sass.

{
    loader: "sass-loader",
    options: {
        includePaths: ["assets/sass"]
    }
}

это значит я могу сейчас @import 'app' и NativeScript найдет файл за пределами своего собственного каталога.

Как предупреждение, это не включает систему расширений файлов, которая может похвастаться NativeScript, поэтому вы не можете добавить .tns для конкретного файла NativeScript.

node-sass (sass-loader) поддерживает loader функция, которую вы можете использовать для эмуляции этой функции, если вам нужно.

Другие вопросы по тегам