プリプロセッサの使用

webpackvue-loader を使用することの大きな利点の一つは、特に努力せずに Vue コンポーネントファイル内で HTML/CSS/JS を直接前もって処理できることです。詳細はこちらを確認してください。

ユースケース

CSS の前処理に Sass/SCSS を使う必要があるとします。まず、この構文を処理するために適切な webpack ローダーをインストールする必要があります。

sass-loader のインストール

npm install --save-dev sass-loader node-sass

必要なローダーがインストールされると、完成です。vue-loader は魔法のように残り作業をやってくれます。これで、Vue コンポーネントファイルに lang="sass" または lang="scss" を簡単に追加できます。 sass-loader の依存パッケージであるため、 node-sass もインストールしたことに注意してください。

lang 属性を適用する

これを...

<style>
  body {
    /* CSS */
  }
</style>

...こうします...

<style lang="scss">
  body {
    /* SCSS */
  }
</style>

他のプリプロセッサにも同じ原則が適用されます。JS に coffeescript が必要かもしれませんね?coffeescript-loader をインストールして、 <script> タグに lang="coffeescript" 属性を適用するだけです。

この機能の高度な使い方については vue-loader のドキュメントを参照してください。

Sass/SCSS のグローバル使用

CSS 構文に Sass/SCSS を使用する場合、全ての Vue コンポーネントファイルでグローバルな変数/ミックスインを使用できることはとても有益です。これを実現させる方法は次のとおりです。

ユースケース

この例は globals.scss を全ての Vue コンポーネントファイルに適用する方法を示しています。このドキュメントでは上述の通り、開発環境ですでに sass-loader が設定されていることを前提としています。

グローバル変数を定義する

src/renderer/globals.scss

$brand-primary: blue;
$brand-accent: turquoise;

globals.scssnode-sass に直接注入する

.electron-vue/webpack.renderer.config.jsvue-loader の設定を編集する

loaders: {
  sass: 'vue-style-loader!css-loader!sass-loader?indentedSyntax=1&data=@import "./src/renderer/globals"',
  scss: 'vue-style-loader!css-loader!sass-loader?data=@import "./src/renderer/globals";'
}

グローバル変数を使用する

SomeComponent.vue

<style lang="scss">
  body { color: $brand-primary; }
</style>

results matching ""

    No results matching ""