ng build和ionic build的区别

5
我有一个基于Ionic Angular的PWA项目。 我想使用GitHub Actions,这样当我推送更改时,我的项目会在Google Firebase Hosting上构建和部署。
在准备好的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

安装依赖项 步骤进行得很顺利。但是,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

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

      - name: Build
        run: npm run build

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

然而,我需要运行ionic build --prod命令。因此,我想知道ionic buildng build之间的区别是什么?执行这些命令会产生相同的输出结果吗?还是ionic build的功能与ng build不同?

值得一提的是,当我运行ionic build --prod时,控制台打印出以下信息:ng.cmd run app:build:production。这个消息能为我解决如何在 GitHub Actions 中制作 Ionic 生产版本提供一些线索吗?


你的 package.json 文件是否依赖于 @ionic/cli - smac89
不,它有@angular/cli,但没有提到@ionic/cli。 - Alish_strong
你可能需要这个依赖项才能使其正常工作。 - smac89
2个回答

3

2
为确保不会漏掉任何东西,建议您继续使用ionic进行构建,因为它将来也可能会发生变化。 ionic命令是@ionic/cli包的一部分。您有几个选项可使其可用:
  • 在构建环境中全局安装(我不知道这是否适用于GitHub操作)
  • 将其作为项目依赖项包含。然后您可以运行它:
正如你提到的,build-prod 已经在你的 package.json 中了,这意味着后者已经就位。在这种情况下,你只需要将 ionic 作为依赖项包含进来,这样它就会被安装在本地,而不需要在全局范围内可用:
npm i --save @ionic/cli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接