我不确定是否应该在这里提问,但我想不出更好的社区,所以我会在这里提问。
我正在使用 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
为什么 SASS 不会被驱动器名称中的冒号混淆?
最佳答案
编辑
在您可能正在使用的 Ruby Sass 实现中,开发人员是这样构建它的:
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
如您所见,系统会检查操作系统。如果当前操作系统是 Windows,他们会将参数拆分到第二个冒号而不是第一个冒号。
旧:
根据您用于运行 Sass 的包装器,有一些库可以与操作系统无关地解析文件路径。
例如,如果您运行 node-sass(Node.js 包装器),sass 将使用 node.js path
-utility通过管道将 I/O 传入和传出 Sass。
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
关于windows - 为什么 sass 不会被 Windows 上的驱动器名称混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42586635/