как изменить путь к dist-папке без перезаписи существующих файлов в выходной папке - PullRequest
0 голосов
/ 04 ноября 2019

Я использую JAVA и механизм приложений в качестве внутреннего и углового в качестве внешнего интерфейса. Также я хочу напрямую создавать свои файлы, используя ng build, и выводить их в свой проект Java, поэтому я попытался заменить outputPath в моем angular.json файле кактак что

{

  ...
  "options": [
    {
      "outputPath": "../../myproject/java/src/main/webapp/",
      ...
    }
  ],
  ...
}

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

Я также попытался изменить base-href и попытаться загрузить мои файлы из папки /dist. Но изменение base-href приводит к неверномуURL маршрутизация.

любое решение, чтобы избежать перезаписи файлов.

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

Если вы добавляете файлы вручную после сборки, вы можете попробовать написать действие postbuild, которое скопирует все эти файлы в папку сборки.

Файл package.json:

  "scripts": {
    "start": "ng serve",
    "build": "ng build --prod",
    "postbuild": "cp somefile ../../myproject/java/src/main/webapp/somefile",
    ...
  },

Если вы работаете в операционной системе Windows и хотите выполнить несколько действий, вы можете использовать скрипт powershell, который может быть вызван как шаг postbuild.

  "scripts": {
    ...
    "postbuild": "powershell ./update-build-folder.ps1",
    ...
  },

Каждый раз, когда вы запускаете npm build / yarn build, каталог сборки будет очищен, после этого угловой CLI выведет файлы JS, а затем все эти пользовательские файлы будут помещены в каталог сборки.

0 голосов
/ 04 ноября 2019

Какую версию angular-cli вы используете? Я могу успешно создать каталог за пределами углового проекта, который содержит другие файлы, БЕЗ удаления этих дополнительных файлов. (это с angular-cli v7.3.9)

Наконец, вы уверены, что какой-то ДРУГОЙ скрипт не удаляет файлы в вашем пути сборки? (т. е. скрипт сборки бэкенда)

...
"options": {
            "outputPath": "../custom-output/web/build-here",
            ...
},
...

Снимки экрана:

enter image description here

enter image description here

...