如何在不覆盖输出文件夹中现有文件的情况下更改dist文件夹路径

我将JAVA和应用程序引擎用作后端,将angular作为前端,我也想直接使用ng build构建文件并将其输出到我的Java项目中,因此我尝试在{ {1}}个文件

{

outputPath

所有文件都正确放置在angular.json文件夹中,但是唯一的问题是它会覆盖整个文件夹,从而导致其他项目文件/目录丢失,因此我必须手动将文件放入此目录中避免。

我还尝试更改 ... "options": [ { "outputPath": "../../myproject/java/src/main/webapp/",... } ],... } 并尝试从webapp文件夹中加载文件。但是更改base-href会导致错误的网址路由。

任何避免覆盖文件的解决方案。

abancoo 回答:如何在不覆盖输出文件夹中现有文件的情况下更改dist文件夹路径

如果要在构建后手动添加文件,则可以尝试编写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文件,然后将所有这些自定义文件放置在构建目录中。

,

您使用的是什么版本的angular-cli?我能够成功地构建到angular项目之外的目录,该目录包含其他文件,而不会删除那些其他文件。 (这是与angular-cli v7.3.9一起提供的)

最后,您确定某些OTHER脚本不是删除构建路径中文件的脚本吗? (即后端构建脚本)

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

屏幕截图:

enter image description here

enter image description here

本文链接:https://www.f2er.com/3169849.html

大家都在问