2017-06-02 13 views
0

私はVue.js 2でLaravel 5.4を使用しています。 vueコンポーネントでは、文書\ressources\assets\sass\_variables.scssで指定された変数を使用したいと思います。 Vue.js:laravel predifined _variables.scssファイルから変数を使用する方法は?

この

は私のコードです:

> Module build failed: 
>   color: $brand-info 
>   ^
>  Undefined variable: "$brand-info". 
>  in C:\www\projects\crm\resources\assets\js\components\person-show.vue 
> (line 150, column 12) 

は私がで$brand-infoを交換する場合:この変数ファイルはコンパイルの\ressources\assets\sass\app.scss

ファイルにインポートされ

<template> 
... 
<template> 
<style lang="sass"> 
    #note 
    color: $brand-info 
</style> 

、NPMは次のエラーを返します。 red、エラーなしでコンパイルされます。

この変数はどのように使用できますか? ヒントは本当に感謝しています。

+0

。 – thanksd

+0

@thanksdコンパイルされたapp.scss(app.css)のバージョンは、コンポーネントが使用されている場所で既にインポートされています。 – Warrio

+0

コンポーネントのスタイルセクションのスコープは、親のスコープを考慮しません。私の知る限りでは、コンポーネントのスコープ内でsass変数を定義するか、指定されたファイルからインポートする必要があります。 – thanksd

答えて

1

コンポーネントのスタイルセクションにapp.scssファイルをインポートしていないため、定義されている変数への参照はありません。

あなたはそうのようなあなたのVueのコンポーネントのスタイルセクションにそのファイルをインポートすることができます:あなたは、あなたのコンポーネントのスタイルセクションにあなたの `app.scss`ファイルをインポートする必要が

<style lang="sass"> 
    @import '../../sass/app'; 

    #note 
    color: $brand-info 
</style> 
+0

同じエラーを返します: 'error in ./resources/assets/js/components/person-show.vue モジュールビルドに失敗しました: @import '.. /../../sass/app.scss '; ^ インポートするファイルが見つからないか、読み取れません:../../../sass/app.scss。 親スタイルシート:stdin C:¥www¥projects¥crm¥resources¥assets¥js¥components¥person-show.vue(行147、列1) ' – Warrio

+0

おっと、ちょうど' .. /../ sass/app.scss'' – thanksd

+0

webpackを使用していない場合は、 'assets'フォルダのエイリアスを作成して、相対パスを使用する必要はありません。 – thanksd

関連する問題