2017-03-03 12 views
1

私はここでこれを尋ねるべきかどうか確信が持てませんでしたが、より良いコミュニティを考えることができなかったので、ここで尋ねます。Windows上のドライブ名でSassが混乱しない理由

私はCSSをWindowsに書き込むためにSASSを使用していますが、そのファイルは私のC:\xampp\htdocsフォルダにあります。私はSASSコマンドラインディレクティブを使用しています:

sass --watch /path/to/scss/file:/path/to/css/file 

はしかし、Windows上のドライブが名にコロンを持っているので、構文は次のように機能します。

sass --watch C:\xampp\htdocs\mysass.scss:C:\xampp\htdocs\mycss.css 

をなぜ混乱しSASSされていませんドライブ名のコロンで?あなたはおそらく使用しているRubyのサスのimplentation、で

答えて

1

EDIT

、開発者はこのようにそれを建て:あなたが見ることができるように

def split_colon_path(path) 
    one, two = path.split(':', 2) 
    if one && two && Sass::Util.windows? && 
     one =~ /\A[A-Za-z]\Z/ && two =~ %r{\A[/\\]} 
    # If we're on Windows and we were passed a drive letter path, 
    # don't split on that colon. 
    one2, two = two.split(':', 2) 
    one = one + ':' + one2 
    end 
    return one, two 
end 

full source

があり、 OSを確認してください。現在のOSがWindowsの場合、引数は最初のコロンではなく2番目のコロンで分割されます。

旧:

あなたはサスを実行するために使用するラッパーこれによっては、OS-agnosticallyファイルパスを解決するためのライブラリがあります。

たとえば、node-sass(Node.jsラッパー)を実行すると、sassはnode.js path-utilityを使用してSassとのI/Oをパイプします。

例のNode.jsで

のWindows:

> path.resolve() 
'C:\\Users\\tom_m' 

GNU \ Linuxの(Ubuntuの)

> path.resolve() 
'/home/tom_m' 

ファイルパスが解決取得する方法、意味SASSに固有ではなく、使用しているラッパーに移動します。

libSass-wrapperがパスをどのように処理するかを調べるには、http://sass-lang.com/libsassにそれを探し、githubで対応するプロジェクトを検索します。

ここにnode-sassラッパーがあります:https://github.com/sass/node-sass

関連する問題