Есть ли альтернатива для опции --rebaseRootRelativeCssUrls в Angular CLI 8? - PullRequest
8 голосов
/ 10 июля 2019

У меня было много проблем, потому что мое приложение размещено в подпапке, и по этой причине относительный путь /assets/, на который ссылаются файлы .scss, не работает.Решением было включить параметр --rebaseRootRelativeCssUrls, чтобы получить ожидаемое поведение.С этой опцией процесс сборки скорректировал мои /assets/ пути, введя значение «--base-href», и теперь ссылки на изображения и шрифты загружаются правильно.

Однако в документации я вижу, чтоэта опция устарела и будет удалена в следующем основном выпуске.

https://angular.io/cli/build (поиск --rebaseRootRelativeCssUrls)

Так что мой вопрос в том, какая альтернатива,Есть ли другой способ получить тот же результат?

Ответы [ 2 ]

0 голосов
/ 24 июля 2019

Если ваш проект развернут в подпапке, вы можете передать эту информацию вашей build команде

. Я предлагаю вам взглянуть на - base-href

В процессе разработки сервер обычно запускается в папке, содержащей index.html.Это корневая папка, и вы бы добавили ее в верхнюю часть index.html, потому что / является корнем приложения.

Но на общем или производственном сервере вы можете обслуживать приложение из подпапки.Например, когда URL-адрес для загрузки приложения похож на mysite.com/my/app/, вложенная папка - my / app /, и вы должны добавить на сервер версию index.html.

Вы можете изменить производственный базовый href с помощью следующей команды:

ng build --prod --base-href /subfolder/

Вы также можете установить base-href на ./, что означает текущий каталог, противоположный /, что означает корневой каталог..

Другим возможным решением было бы изменить href в вашем основном index.html

<base href="./">
0 голосов
/ 19 июля 2019

Внутри вашего angular.json вы можете установить несколько папок активов

   "build": {
      "options": {
        "assets": [
          "src/favicon.ico",
          "src/the/other/folder/assets",
          "src/assets",
          {
            "glob": "**/*",
            "input": "src/the/other/folder/assets",
            "output": "./assets"
          },
          {
            "glob": "**/*",
            "input": "src/app/modules/error/assets",
            "output": "./assets"
          }
        ],

, что позволит вам иметь несколько папок активов.

...