2016-04-26 21 views
3

を働いていない私は、SASS-ローダパッケージに応じて演技しています:私は私のWebConfigで :サス角度2中とWebPACKの

モジュールで
{ 
     loaders: [ 
      { 
       test: /\.scss$/, 
       loaders: ["style", "css", "sass"] 
      } 
     ] 
    } 

私はこのようなSCSSをインポートします。

styles: require('./home.scss') , 

SCSSファイルは次のようになります。

$font-stack: Helvetica, sans-serif; 
$primary-color: #333; 

md-card { 
font: 100% $font-stack; 
color: $primary-color; 
} 

を残念ながら、私はアプリを実行すると、以下のことが起こりますs:

ERROR in ./src/app/home/home.scss 
Module parse failed: C:\src\app\home\home.scss Line 1: Unexpected token : 
You may need an appropriate loader to handle this file type. 
| $font-stack: Helvetica, sans-serif; 
| $primary-color: #333; 
| 
@ ./src/app/home/home.component.ts 49:20-42 

私はすべてが大丈夫だと思ったら、それは失敗するでしょうか?

+0

それが問題だ場合は知っているが、 '[コンポーネントメタデータ]でstyles'(https://angular.io/docs/ts/latest/api/core/ComponentMetadata-class.html#!#stylesしないでください'〜/ home.scss ')、' – yarons

+0

はい、私もその構文で試してみましたが、どちらも動作しません。 –

答えて

2

私はangular2コンポーネントにスタイルをインポートする生・ローダーをお勧めします:https://github.com/webpack/raw-loader

... 
loaders: [ 
    { 
     test: /\.scss$/, 
     loaders: ['raw-loader', 'sass-loader'] 
    } 
] 
... 

またstylesは配列でなければなりません!

... 
styles: [ require('./home.scss') ], 
... 

も参照してください:ところでhttps://github.com/AngularClass/angular2-webpack-starter/wiki/How-to-include-SCSS-in-components

:あなたも、テンプレートをインポートするための生ローダーを使用することができます。

+0

このソリューションはdevのみで動作し、['raw-loader'、 'sass-loader']のみでビルドを試してみます。 –

+0

@UlandNimblehoof try:https://www.npmjs.com/package/@ngtools/webpackは、tscを完全に置き換え、自動インポートテンプレート/スタイルとaotコンパイルをサポートします – cebor