【问题标题】:How to convert directory SASS/SCSS to CSS via command line?如何通过命令行将目录 SASS/SCSS 转换为 CSS?
【发布时间】:2013-10-26 17:19:29
【问题描述】:

我试过了:

sass-convert --from scss --to css --recursive app/assets/stylesheets temp

但这只会将 css 转换为 SASS,我想要相反的方式。

然后我看了一下sass命令,但是好像不能给它传目录。

【问题讨论】:

  • 是的,但我找不到用一个 sass 命令转换整个目录的方法。 sass 命令似乎一次只做一个文件,我错了吗?我知道 sass --watch 命令将监视目录的更改,但我需要一个命令行条目来在需要时处理目录。提前致谢。
  • 当然。似乎您可以监视一个目录,但我无法让它在它只使用一个命令转换目录的情况下工作(而不是监视更改)。你能给我看一个可以转换目录的单个命令行字符串的例子吗?
  • 很简单:sass --update www/_src/sass:www/css/。参考:sass-lang.com/documentation/file.SASS_REFERENCE.html
  • @Hawk,如果我之前编译了单个文件,则目录的东西只有工作(至少对我在 osx 上)。 Sass 似乎依赖 .sass-cache 或 .map 来知道命名文件的内容和位置。

标签: sass


【解决方案1】:

要进行一次性 Sass 编译而不是 watch,您可以从命令行执行此操作:

sass --update scss:css

要让 Sass 导入一个文件(通常是部分文件,文件名以 _ 开头),您可以在 Sass 文件中执行此操作:

@import "_base.scss";

这样,Sass 就知道在哪里你希望包含发生。

默认情况下,Sass 不能导入整个目录。但是,Sass Globbing gem 可以。您可以从命令行安装它:

gem install sass-globbing

然后看它:

sass -r sass-globbing --watch sass_dir:css_dir

请注意,通配符会按字母顺序导入文件,因此如果发生这种情况,请确保您的 CSS 将适当地级联。

【讨论】:

  • 非常感谢您。 FWIW,我的 CSS 文件输出与输入的顺序相同。文件未按字母顺序重新排列。
【解决方案2】:

您可以使用compass 将 Sass 文件转换为 CSS。

要初始化config.rb,请尝试:

compass init --syntax=sass --css-dir=css --javascripts-dir=js

获得配置文件后,尝试:

compass compile

或通过明确指定文件:compass compile sass/foo.scss。


要安装它,请尝试:

sudo gem update
sudo gem install sass compass

【讨论】:

  • OP 没有询问 Compass,这不是工具请求问题(提示:问题将被关闭)。
  • @cimmanon 这个答案回答了标题问题(如何通过 cmd 将 sass 转换为 css),这是我找到这个问题的主要原因,在我的情况下,compass 的工作是@ 987654330@ 对我不起作用,因此我认为对替代品的认识可能对更多读者有用。
  • 除非你的项目需要 Compass,否则 Sass 没有理由不工作。
  • 是的,它需要 Compass,因为该站点基于 Zen 主题,因此它缺少很多导入/引用。
【解决方案3】:

为此,只需转到您的项目目录并执行此操作:

sass --update sass-dir:assets/css

sass-dir 包含您的实际 sass 文件的目录和 assets/css 所需的输出目录。

希望这会有所帮助。

【讨论】:

    【解决方案4】:

    使用sass 命令,后跟input file name and path、冒号 (:) 和所需的output file name and path。如果输出文件不存在,Sass 会生成它。例如,

    sass sass/main.scss:css/main.css
    

    但是,这是一个一次性命令,每次您想要生成新的 CSS 文件时都需要运行该命令。一个更简单更方便的方法是使用 Sass 的内置 --watch 标志。这会监视您的 Sass 文件的更改,并在您每次保存更改时自动运行编译命令。

    sass --watch sass/main.scss:css/main.css
    

    如果您在一个目录中有多个 Sass 文件,您可以观察该目录中任何文件的更改:

    sass --watch sass:css
    

    Sass 还有四种可用的 CSS 输出样式:nested、expanded、compact 和 compressed。这些可以这样使用:

    sass --watch sass:css --style compressed
    

    更多信息请参考the Sass documentation。

    【讨论】:

      【解决方案5】:

      您可以使用此代码

      sass --watch file.sass:file.css

      或

      sass --watch folderSass:foldercss

      如果你想创建 css.main 你可以使用这个代码

      sass --watch sass:css --style compressed

      【讨论】:

        【解决方案6】:

        https://sass-lang.com/guide

        你可以使用

        sass --watch [input folder path]:[output folder path]
        

        我尝试在新终端中运行它,然后 sass 监视文件夹并根据任何更改进行编译。

        【讨论】:

          猜你喜欢
          • 2019-07-21
          • 2020-03-12
          • 2017-03-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-19
          • 2017-11-16
          • 2018-04-29
          相关资源
          最近更新 更多