如何更改 dist 文件夹路径而不覆盖输出文件夹中的现有文件

我使用 JAVA 和应用程序引擎作为后端,使用 Angular 作为前端,我也想使用直接构建我的文件ng build并将它们输出到我的 java 项目,所以我尝试outputPath在我的angular.json文件中替换为这样


{


  ...

  "options": [

    {

      "outputPath": "../../myproject/java/src/main/webapp/",

      ...

    }

  ],

  ...

}

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


我还尝试更改base-href并尝试从文件夹加载我的文件。但是/dist更改base-href会导致错误的 url 路由。


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


LEATH
浏览 54回答 2
2回答

qq_花开花谢_0

如果您在构建后手动添加文件,那么您可以尝试编写一个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时,构建目录都会被清理,然后 Angular CLI 将输出 JS 文件,然后所有这些自定义文件将被放置在构建目录中。

素胚勾勒不出你

您使用什么版本的 angular-cli?我能够成功构建到角度项目之外的目录,其中包含其他文件,而不会删除这些附加文件。(这是 Angular-cli v7.3.9 的情况)最后,您确定其他脚本不是删除构建路径中文件的脚本吗?(即后端构建脚本)..."options": {            "outputPath": "../custom-output/web/build-here",            ...},...截图:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java