2016-04-11 6 views
0

すべての.stylファイル内で使用できる関数を定義しようとしています。例えばだから、私は書くことができます:グローバル関数をスタイラスファイルに渡す

body 
    background-image STATIC('/dist/assets/myImage.jpg') 

出力すべき

body { 
    background-image: url('//localhost:3000/dist/assets/myImage.jpg') 
} 

を私の一気タスク

gulp.task('stylus', function() { 
    // host is defined in our config settings 
    // i.e. for develpoment it will be "localhost:3000" 
    var host = require('../../config').host; 

    return gulp.src('src/main.styl') 
    .pipe(stylus({ 
     define: { 
     STATIC: function(file) { 
      return 'url("//' + host + file.val + '")'; 
     } 
     } 
    })) 
    .pipe(gulp.dest('build/dist/css')); 
}); 

内側しかし、私はgulp stylusを実行すると、全体の出力が引用されています。最初と最後の一重引用符を使わずに完全なパスを返すにはどうすればよいですか?

body { 
    background-image: 'url("//localhost:3000/dist/assets/myImage.jpg")'; 
} 

答えて

0

すべてのスタイルファイルで同じ機能を使用するには、スタイラス機能が適しています。あなたは定義することができfunction in stylusとして:

bodyCustomBg() 
    body 
    background-color white 

としての機能を使用する:あなたは、あまりにもfunctionsにパラメータを渡すことができ

bodyCustomBg() 

。このファイルは、関数を含む.stylファイルをインポートまたは要求するファイルで使用できます。

関連する問題