2016-12-21 6 views
0

「_」プレフィックス

たとえば、私は、このファイルを保存するときa.scssまたは a_b.scssファイルを遵守することができますしたいです。しかし、そのような名前の_a.scssとしてファイルを含みません。

私はgithubでガイドがfilename_filterの設定を設定することで見ました。

は、だから私は .Contents SublimeOnSaveBuild.sublime-設定を作成します。それは.sublime-settingsファイルとして保存されてしまうようなので、

{ 
 
    "filename_filter": "/^([^_])\\w*.(sass|less|scss)$/" 
 
}

私は2 \を使用

たフォーマット好きJSON。

しかし、それはwork.IがそれをテストするためにJavaScriptを使用していない、それがうまく機能!

let reg = /^[^\_]\w*.(sass|less|scss)$/, 
 
\t arr = [ 
 
\t \t 'a.scss', 
 
\t \t '_a.scss', 
 
\t \t 'a_b.scss' 
 
\t ]; 
 
arr.forEach(function(filename) { 
 
\t console.log(filename + '\t' + reg.test(filename)); 
 
}); 
 

 
// a.scss \t true 
 
// _a.scss \t false 
 
// a_b.scss \t true

ありがとう!


解決策はjoshuawinnです。私のコードは動作しないことができる理由しかし、私は...

{ 
 
    "filename_filter": "(/|\\\\|^)(?!_)(\\w+)\\.(css|js|sass|less|scss)$", 
 
    "build_on_save": 1 
 
}

私の下手な英語のため申し訳ありませんを理解することはできません!

+0

Iは[joshuawinn(http://www.joshuawinn.com/ignore-sass-and-less-partials-starting-with-underscore-when-using-sublimeonsavebuild/) – Maze

答えて

1
let reg = /^(_|)\w*.(sass|less|scss)$/, 
    arr = [ 
     'a.scss', 
     '_a.scss', 
     'a_b.scss' 
    ]; 
arr.forEach(function(filename) { 
    console.log(filename + '\t' + reg.test(filename)); 
}); 
+0

I中の溶液を発見しましたSublimeOnSaveBuildパッケージに意味。 '\ w *'を使用すると、 "Sublime text 3 *"は "設定を解析しようとしたときにエラーが発生しました:Package \ User \ SublimeOnSaveBuild.sublime-settings:2:24"のエスケープエラーです。 – Maze

+0

そして、あなたはコードがコンソールになります。 真 \t a.scss _a.scss \t真 真\t a_b.scss – Maze

関連する問題