web-dev-qa-db-ja.com

asp.netコアスパでangular cliを使用して新しいコンポーネントを追加できません

asp.net core 2.0SPAに新しいコンポーネントを追加したいangular 4angular cliこのバージョンでは:

@ angular/cli:1.4.2

ノード:8.4.0

os:Linux x64

このコマンドを実行するとng g c vehicle-formコンポーネントのディレクトリでこのエラーが発生しました:

エラー:新しいコンポーネントのNgModuleが見つかりませんでした。 NgModuleでコンポーネントのインポートをスキップするには、skip-importオプションを使用します。新しいコンポーネントのNgModuleが見つかりませんでした。 NgModuleでコンポーネントのインポートをスキップするには、skip-importオプションを使用します。

app.module.shared.ts

また、app.module.ts ない1 :\ :

app.module.browser.ts

app.module.shared.ts

app.module.server.ts

20
Ashkan Rahmani

Angular CLIを念頭に置いてビルドされていないプロジェクトでCLIを使用しているため、いくつかの追加手順を実行する必要があります。

まず、ng g c vehicle-formコマンドを実行し、--skip-import=trueオプションを含めます。

次に、適切なアプリケーションモジュールファイルにコンポーネント宣言を手動で追加します。この場合、他のすべてのアプリケーションコンポーネントが宣言されているapp.module.shared.ts

または、ng g c vehicle-formを実行して--module='app.module.shared.ts'を含めることができます。これでモジュールファイルへのパスを完全に修飾する必要があります。私はそれをテストしていませんので、自分でこれを使っていくつかのことを試す準備をしてください。

Ng generateコンポーネントの詳細: generate component

[〜#〜] update [〜#〜](2018-03-01)

Microsoftは、ASP.NET Core 2.0アプリケーションで使用するいくつかの新しいSPAテンプレートを提供しました。あなたはそれらについての詳細を見つけることができます こちら 。新しい Angularテンプレート には、 Angular CLI のサポートが含まれています。したがって、CLIに精通している場合、これはもう少し家のように感じるはずです。つまり、 ng g コマンドを使用して、この新しいテンプレートでコードを生成できます。

26
R. Richards

私の場合、問題はe2eプロジェクトにありました。プロジェクトをangular 4からangular 6に新しいangular configファイルが追加された「angular.json」代わりに「angular.conf.json」。プロジェクトセクションに2つのプロジェクトが表示されました。1つは「ng-app」、もう1つは「ng-app-e2e」です。「ng gc」コマンドを実行しようとすると同じエラーが発生します。原因は「ng-app-e2e」のルートセクションにありました。空の値がありました。「e2e」に設定しました。これで問題ありません!これは、デフォルトプロジェクトが「ng-app」に設定されているにもかかわらず。

"projects": {
    "ng-app": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "app",
      ...
    },
    "ng-app-e2e": {
      "root": "e2e", <-- SALVATION
      "sourceRoot": "e2e",
      "projectType": "application",
      ...
    }
  },
  "defaultProject": "ng-app"  
23
trueboroda

ASP Net Core Angularプロジェクトの場合、強調表示したようにapp.moduleは3つのファイルに分割されます。angular CLIは、モジュール内のコンポーネントへの参照を追加する場所を決定する必要があるため、ヘルプを提供する必要があります。

ng g c moduleName --module = 'app.module.browser.ts'

5

.angular-cli.jsonの一部「apps」で「./src」を「src」に置き換えます

"apps":[{"root": "src"、 "outDir": "dist"、

このエラーは、app.module.tsファイルが存在しない場合に発生します。ファイルが存在するかどうかを確認し、存在しない場合は手動で作成してください。

1

ng generate component componentName --module = app.module

私のプロジェクトでも、上記のエラーが発生しました。このコマンドを試してみましたが、これは適切に機能します。

1
Reddy Surekha

5から6バージョンに変換するときに同じ問題が発生しました。 github から解決策を見つけました。 sourceRootからe2eを削除すると、問題が解決しました。

1
sudar

同じ問題にぶつかり、プロジェクトのroot folderに参加していないことに気付きました。

私は働いていませんでした

/c/some/path/your_project/src/bla/bla/bla

しかし、それは動作します(私にとっては動作しました)

/c/some/path/your_project
1
Dorin Brage