2017-01-11 12 views
0

私はすべての私のseconday scssファイルへのインポートでマスターscssファイルを持っています。私はこのscssを私のコンポーネントに入れようとしています。私はHow to include SCSS in componentsに従ったが、ただエラーが出る。すべての手順を実行すると、このエラーが表示されます。Angular2-webpack-starterキットとSCSSのサポート

ERROR in ./src/styles/os_theme.scss

Module build failed:

// Loosely based on https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/

^

Invalid CSS after "...load the styles": expected 1 selector or at-rule, was "var content = requi" 
    in D:\project\src\styles\os_theme.scss (line 1, column 1) 

これは私の主なscssの冒頭にあるコメントです。

私はwebpack.common.jsのこの部分を削除した場合:

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

のdevのサーバーを実行私はエラーを取得していないと、奇妙なことに、私のフッターは、私が期待するスタイルが、アプリの残りの部分を取得します実行されず、コンソールに次のエラーが表示されます。

Error: Expected 'styles' to be an array of strings.

これは私のコンポーネントの外観です。 app.component.ts

@Component({ 
    selector: 'app', 
    encapsulation: ViewEncapsulation.None, 
    styleUrls: ['../../src/styles/os_theme.scss'], 
    templateUrl: 'app.component.html' 
}) 

フォルダ構造は次のとおりです。

-src 
--styles 
--- os_theme.scss (as imports to my other files) 
--- _general.scss 
--- components 
----_components.buttons.scss 
- app 
-- app.component.ts 

私は何を理解していないのですか?

答えて

0

私はガイドが廃止されていると思いますが、あなたは彼らがscsscssファイルを使用しているかチェックするためにcommitapp.module.tsファイルを確認することができます。

+0

wikiのアプローチを試してみるためにそれらのファイルを削除したときに、私はそれを取り上げておくべきでした。これはまったく新しいものですが、なぜAngular2のstyleUrlを使用するのではなく、import文を使用するのですか? – ToddB

+0

[ここ](https://github.com/AngularClass/angular2-webpack-starter/pull/1304)は、なぜ彼らがそれをしたかの説明です。 クリックを保存するために、メインのCSSファイルはJSではもうネストされず、別のファイルで生成され、最初のロード時によりスムーズなUXを提供します。 –