5

我正在 vim 中处理一个项目,每次保存 .scss 文件时,都会收到以下错误:

Deleted template detected: /home/path/to/my.scss
/usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/plugin/compiler.rb:338:in `read': No such file or directory - public/stylesheets/my.scss (Errno::ENOENT)
        from /usr/lib/ruby/gems/1.8/gems/listen-0.4.2/lib/listen/adapters/linux.rb:34:in `join'
        from /usr/lib/ruby/gems/1.8/gems/listen-0.4.2/lib/listen/adapters/linux.rb:34:in `start'
        from /usr/lib/ruby/gems/1.8/gems/listen-0.4.2/lib/listen/multi_listener.rb:44:in `start'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/plugin/compiler.rb:306:in `watch'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/plugin.rb:107:in `send'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/plugin.rb:107:in `method_missing'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/exec.rb:431:in `watch_or_update'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/exec.rb:302:in `process_result'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/exec.rb:41:in `parse'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/../lib/sass/../sass/exec.rb:21:in `parse!'
        from /usr/lib/ruby/gems/1.8/gems/sass-3.1.17/bin/sass:8
        from /usr/bin/sass:19:in `load'
        from /usr/bin/sass:19

想法?如果我每次都手动重新启动 --watch 服务器,它会起作用,但这有点违背它的精神。

4

1 回答 1

-2

你应该完全使用指南针! 

指南针是什么

Compass 是每个 SASS 编码人员必备的工具。指南针由两部分组成:

  • SASS 的元框架;
  • 一个命令行工具,用于编译 Compass 项目和做其他有用的事情。

compass watch命令正是您正在寻找的。每当您保存更改时,它都会重新编译 CSS,就像sass --watch. 当你删除一个 SASS/SCSS 文件时它不会失败,除非你继续@import删除被删除的文件。

可笑的简短安装指南

为了使以下工作,您必须拥有 Ruby 和RubyGems。当您使用sass命令行工具时,很可能您已经拥有了它们。

要开始使用 Compass,请执行以下操作:

  1. 使用 RubyGems 安装指南针:gem install compass.
  2. 在项目的根目录中创建一个compass.rb文件(在您的情况下是Project/compass.rb)。
  3. 运行compass watch并开始编码。

config.rb 文件示例

compass.rb这是一个可能对您 有用的最小值:

css_dir =   "stylesheets"
sass_dir =  "sass"
于 2013-03-23T18:15:09.500 回答