グローバルスタイルの適用については、Webpackのangular-cli
の最新リリースでエラーが発生しているようです。このGithub issueを参照してください。
更新日:2016年8月31日 アップグレード最新バージョン(1.0.0-beta.11-webpack.8
)にangular-cli
グローバルスタイルで問題を修正しているようです。グローバルスタイルを設定するには、hereの指示に従ってください。デフォルトでは、グローバルSCSSスタイルシートを使用したい場合は、あなたのアプリケーションを作成するとき、あなたは--style=scss
フラグを指定することができ、グローバルCSSファイルを使用することです:
ng new scss-project --style=scss
angular-cli
は、グローバルスタイルシートstyles.scss
を生成し、それが含まれますファイルangular-cli.json
これは、で宣言されたスタイルがグローバルであり、アプリケーション全体に適用される(特定のコンポーネントにスコープされない)ことをangular-cli
に示します。これは、index.html
にリンクステートメントを使用してスタイルシートを含めるのと同じです。既存のプロジェクトの場合
、あなたが使用してデフォルトのスタイルを設定することができますあなたのangular-cli.json
で
ng set defaults.styleExt scss
を、余分なグローバルスタイルシートやスクリプトを以下に示したスタイルとスクリプトのアレイに追加することができます。
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": "assets",
"index": "index.html",
"main": "main.ts",
"test": "test.ts",
"tsconfig": "tsconfig.json",
"prefix": "app",
"mobile": false,
"styles": [
"styles.scss"
],
"scripts": [],
"environments": {
"source": "environments/environment.ts",
"prod": "environments/environment.prod.ts",
"dev": "environments/environment.dev.ts"
}
}
]
ボディータグにスタイルが適用されないのはなぜですか?
あなたはコードを投稿していないので推測しますが、<body>
タグにSCSSスタイルが適用されていない理由は、Component Styles
を使用しているためです。また、app.component.scss
呼ばComponent Styleを生成
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.scss']
})
export class AppComponent {
title = 'app works!';
}
:--style=scss
フラグをangular-cli
プロジェクトを生成するとき、それは、app.compontent.ts
と呼ばれるルートレベルのコンポーネントを作成します。これは重要なポイントです。これは、コンポーネントスタイルがコンポーネントに適用されるためです。コンポーネントのスタイルは、このようなコンポーネントに設定されている:
styleUrls: ['app.component.scss']
あなたはapp.component.scss
に含める任意のスタイルが唯一app.component.ts
とそれに対応するテンプレートapp.component.html
(とその子供)に適用されます。
<body>
<app-root>Loading...</app-root>
</body>
私はそれがあなたの質問に答える願っています:それはangular-cli
によって生成されたindex.html
ファイルのルートレベルのコンポーネントのスコープの外にあるので、スタイルが<body>
タグに適用されない理由があります。
の可能性のある重複した[Angular2にサスを統合 - WebPACKの](http://stackoverflow.com/questions/39147082/integrate-sass-in-angular2-webpack) – Brocco