2017-03-03 52 views
1

我不確定我應該在這裏問這個問題,但我想不出一個更好的社區,所以我會在這裏問。爲什麼不在窗戶上的驅動器名稱混淆

我使用SASS在Windows上編寫我的CSS,並且這些文件位於我的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 

爲什麼不頂嘴困惑由驅動器名稱中的冒號?

回答

1

編輯

在Ruby薩斯implentation,您可能正在使用,開發商建這樣的:

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

正如你可以看到,有一個檢查操作系統。如果當前的操作系統是Windows,則它們將參數分割爲第二個冒號而不是第一個冒號。

老:

根據其封裝器,您使用的運行薩斯,也有解決文件路徑OS-不可知庫。例如,如果您運行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包裝器如何處理路徑,請在http://sass-lang.com/libsass上查找它並在github上搜索相應的項目。

你可以在這裏找到node-sass wrapper:https://github.com/sass/node-sass