为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

LEATH 2024-01-25 23:03:04
我使用 JAVA 和应用程序引擎作为后端,使用 Angular 作为前端,我也想使用直接构建我的文件ng build并将它们输出到我的 java 项目,所以我尝试outputPath在我的angular.json文件中替换为这样{  ...  "options": [    {      "outputPath": "../../myproject/java/src/main/webapp/",      ...    }  ],  ...}所有文件都正确放置在webapp文件夹中,但唯一的问题是它会覆盖整个文件夹,导致丢失其他项目文件/目录,因此我必须手动将文件放置到此目录中,这是我想避免的。我还尝试更改base-href并尝试从文件夹加载我的文件。但是/dist更改base-href会导致错误的 url 路由。任何避免覆盖文件的解决方案。
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

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


查看完整回答
反对 回复 2024-01-25
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您使用什么版本的 angular-cli?我能够成功构建到角度项目之外的目录,其中包含其他文件,而不会删除这些附加文件。(这是 Angular-cli v7.3.9 的情况)


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


...

"options": {

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

            ...

},

...

截图:

https://img1.sycdn.imooc.com/65b2784b0001abf006320206.jpg

https://img1.sycdn.imooc.com/65b2785500017b9f04430569.jpg

查看完整回答
反对 回复 2024-01-25
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信