ng 构建和 ionic 构建之间的区别

Ali*_*ong 5 ionic-framework angular github-actions

我有一个基于 Ionic Angular 的 PWA 项目。我想使用 GitHub Actions,这样当我推送更改时,我的项目就会在 Google Firebase 托管上构建和部署。

在准备好的package.json中,规范为"build-prod": "ionic build --prod".

在我的main.yml文件中,我指定了步骤:

      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Install Dependencies
        run: npm install
      - name: Build
        run: npm run build-prod
Run Code Online (Sandbox Code Playgroud)

安装依赖项步骤进展顺利。但是,GitHub Actions 在构建步骤中显示错误:

Run npm run build-prod

> my-project@0.0.1 build-prod /home/runner/work/my-project/my-project
> ionic build --prod

sh: 1: ionic: not found
Run Code Online (Sandbox Code Playgroud)

据我了解,原因很简单,GitHub Actions 不知道ionic是什么。但是,当我尝试使用

      - name: Build
        run: npm run build
Run Code Online (Sandbox Code Playgroud)

默认情况下使用:ng build,GitHub Actions 成功执行了构建步骤。当我使用时ng build --prod也观察到成功。

但是,我需要执行ionic build --prod命令。因此,我想知道ionic build和之间有什么区别ng build?执行此命令会产生相同的输出,还是会ionic build执行不同的操作ng build

我必须补充一点,当我运行 时ionic build --prod,我的控制台会打印以下消息:ng.cmd run app:build:production 此消息能否为我使用 GitHub Actions 进行离子生产构建的问题解决方案提供一些线索?

Sha*_*wal 3

据我所知-

  1. ionic build内部使用ng build
  2. 如果直接运行ng buildIonic hooks将不会被触发,因为它被绕过了。

也在此处讨论https://forum.ionicframework.com/t/difference-betwen-npm-run-build-ng-build-and-ionic-build/187122