1. ホーム
  2. angular

Angular CLI 6: angular.jsonでSassコンパイルを追加するにはどうすればいいですか?

2023-10-29 13:20:59

質問

新しいAngular CLI 6.0を使用して新しいAngularプロジェクトを作成したばかりですが、私のプロジェクトにSassコンパイルを追加する必要があります。私は、プロジェクトを作成するときにフラグを設定することができることを知っていますが、私のプロジェクトはすでに作成され、作業が行われました。

新しいAngular CLIで生成される新しい設定ファイルは現在 angular.json ではなく angular-cli.json . ファイルのスキームも異なり、新しいプロパティが追加されています。

では、古い angular-cli.json を設定するセクションがあり、そこで stylExt のようにします。

"defaults": {
    "styleExt": "scss"
}

の後にあるように、これをどこに置けばいいのかわかりません。 "test""lint" プロパティを使用すると、次のような lint エラーが発生します。

Matches multiple schemas when only one must validate.

とビルドプロデュースしています。

Schema validation failed with the following errors: Data path "['defaults']" should NOT have additional properties(styleExt).

を見てみると CLI のドキュメントを見る をどこに置くべきかを示すものは何も見当たりません。 "styleExt" .

他の回答がアドバイスしているのを見たことがあります。 ng set defaults.styleExt scss というアドバイスがありましたが、これは get/set have been deprecated in favor of the config command. .

試しに ng config set defaults.styleExt scssnpm config set defaults.styleExt scss で、前者はエラーを投げ、後者は明らかにファイルに何の影響も与えませんが、エラーは発生しません。

どのように解決するのですか?

以下のように Smokey Dawson のコメント ,

"projects": {
  "angular-app": {
    "root": "",
    "sourceRoot": "src",
    "projectType": "application",
    "prefix": "app",
    "schematics": {
      "@schematics/angular:component": {
        "styleext": "scss"
      }
    },
    "architect": {...}
  }
}

上記がその結果です。 ですから、あなたのアプリで、キーの下に schematics , というキーを追加してください。 @schematics/angular:component というキーで styleext に設定されている scss .

これは、あなたの angular.json ファイルを適用する必要があります。