簡體   English   中英

與--devapp一起使用時,ionic 4構建錯誤

[英]ionic 4 build error when serving with --devapp

我已經部署了ionic4 + angular應用程序,該應用程序可在瀏覽器上成功運行,但是當嘗試在devapp上運行時會出現以下錯誤。 當我向離子服務提供--devapp標志時,角度構建失敗。

C:\Users\Surendra\Desktop\googlevision\googlevision\client>ionic serve --devapp
> ng.cmd run app:ionic-cordova-serve --host=0.0.0.0 --port=8100 --cordova-mock --consolelogs --consolelogs-port=53703
[ng] Project target does not exist.
[ng] Error: Project target does not exist.
[ng]     at WorkspaceNodeModulesArchitectHost.getBuilderNameForTarget (C:\Users\Surendra\Desktop\googlevision\googlevision\client\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:15:19)
[ng]     at RunCommand.runSingleTarget (C:\Users\Surendra\Desktop\googlevision\googlevision\client\node_modules\@angular\cli\models\architect-command.js:175:55)
[ng]     at RunCommand.runArchitectTarget (C:\Users\Surendra\Desktop\googlevision\googlevision\client\node_modules\@angular\cli\models\architect-command.js:216:35)
[ng]     at RunCommand.run (C:\Users\Surendra\Desktop\googlevision\googlevision\client\node_modules\@angular\cli\commands\run-impl.js:14:25)
[ng]     at RunCommand.validateAndRun (C:\Users\Surendra\Desktop\googlevision\googlevision\client\node_modules\@angular\cli\models\command.js:137:39)
[ng]     at process._tickCallback (internal/process/next_tick.js:68:7)
[ng]     at Function.Module.runMain (internal/modules/cjs/loader.js:832:11)
[ng]     at startup (internal/bootstrap/node.js:283:19)
[ng]     at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

[ERROR] ng has unexpectedly closed (exit code 1).

        The Ionic CLI will exit. Please check any output above for error details.

package.json

{
  "name": "blabla",
  "version": "0.0.1",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build-prod": "ng build --prod",
    "postbuild-prod": "bread-compressor dist/app",
    "serve-dist": "ws --hostname localhost -d dist/app -p 1234 -o --log.format stats",
    "lint": "ng lint"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "8.0.0",
    "@angular/compiler": "8.0.0",
    "@angular/core": "8.0.0",
    "@angular/forms": "8.0.0",
    "@angular/platform-browser": "8.0.0",
    "@angular/platform-browser-dynamic": "8.0.0",
    "@angular/router": "8.0.0",
    "@ionic/angular": "4.4.2",
    "rxjs": "6.5.2",
    "tslib": "1.9.3",
    "zone.js": "0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "0.800.1",
    "@angular/cli": "8.0.1",
    "@angular/compiler-cli": "8.0.0",
    "@angular/language-service": "8.0.0",
    "@ionic/angular-toolkit": "2.0.0",
    "@ionic/app-scripts": "^3.2.4",
    "@types/node": "12.0.4",
    "bread-compressor-cli": "1.0.7",
    "codelyzer": "5.0.1",
    "local-web-server": "2.6.1",
    "tslint": "5.17.0",
    "typescript": "3.4.5"
  }
}

PS-該應用程序在瀏覽器上運行良好,但無法與ionic serve --devapp一起運行。 嘗試更新@ionic/angular-toolkit但仍給出錯誤。

我遇到了類似的問題,事實證明,如果您不知道所要查找的內容,那么該錯誤將極具誤導性,我確信這是離子錯誤,事實證明,當您使用- devapp使用了一個不同的“建築師” ...這位建築師實際上稱為ionic-cordova-serve,它依賴於ionic-cordova-build。

當我移入代碼時,我在項目/應用程序中缺少這兩個架構師規則。

我在angular.json文件中的“項目”名稱是“技術”,這就是我現在看起來可以正常工作的樣子。

    "tech": {
      "projectType": "application",
      "schematics": {
        "@nrwl/angular:component": {
          "style": "scss"
        }
      },
      "root": "apps/tech",
      "sourceRoot": "apps/tech/src",
      "prefix": "tech",
      "architect": {
        ... (build, serve, test, ect are here)
        "ionic-cordova-build": {
          "builder": "@ionic/angular-toolkit:cordova-build",
          "options": {
            "browserTarget": "tech:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "tech:build:production"
            }
          }
        },
        "ionic-cordova-serve": {
          "builder": "@ionic/angular-toolkit:cordova-serve",
          "options": {
            "cordovaBuildTarget": "tech:ionic-cordova-build",
            "devServerTarget": "tech:serve"
          },
          "configurations": {
            "production": {
              "cordovaBuildTarget": "tech:ionic-cordova-build:production",
              "devServerTarget": "tech:serve:production"
            }
          }
        }
      }
    },

請確保將tech:<item>更改為您的項目/應用名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM