Python库sass公司()不编译sass

2024-06-01 10:19:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在让libsass编译SASS文件时遇到了一个问题。我可以让它编译SCSS文件。在

我有一个Flask应用程序,我已经安装了libsass,我正在使用libsass绑定sass。它工作得很好,但缺少一些功能——它不能编译SASS,但可以编译scs。我是这样做的:

在我的应用程序我有档案

from flask import Flask
import sass

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    sass.compile(dirname=('client/sass', 'client/css'), source_comments=True)
    app.run()

我的两个测试文件是test_scss.scss,它可以工作:

^{pr2}$

test_sass.sass

$font-stack:    Helvetica, sans-serif
$primary-color: #333

body
  font: 100% $font-stack
  color: $primary-color

文档说sass.complie可以接受SASS代码,但我只能让它接受SCSS代码。也就是说,当我运行我的应用程序时,只有.scss文件被编译成CSS。我的应用程序在sass.compile运行后的目录结构是:

  • 客户
    • css
      • 在应用程序.css在
      • 试验_脚本.css在
    • 图书馆
    • 萨斯
      • 试验_萨斯。萨斯在
      • 试验_scss.scss公司在
  • 服务器
    • 模板
    • 在应用程序.py在

有人建议我将SASS文件重命名为扩展名为.scss的文件。比如test_sass.scss:'

$font-stack:    Helvetica, sans-serif
$primary-color: #333

body
  font: 100% $font-stack
  color: $primary-color

但是,当我这样做时,我只得到以下错误:

src/web-internal/server/applicaiton.py", line 8, in <module>
    sass.compile(dirname=('client/sass', 'client/css'), source_comments=True)
  File "/usr/local/lib/python3.4/site-packages/sass.py", line 516, in compile
    raise CompileError(v)
sass.CompileError: b"Error: top-level variable binding must be terminated by ';'\n        on line 2 of src/web-internal/server/../client/sass/test_sass.scss\n>> $primary-color: #333\n   ^\n"

我想用SASS,最好不要满足于SCSS。有人有什么建议吗?我觉得在sass documentation里有些东西我理解不清。在


Tags: 文件testclient应用程序stacksasscsscolor
1条回答
网友
1楼 · 发布于 2024-06-01 10:19:17

我从来没有用sass.compile来处理这个问题,但我找到了一个解决办法。在

...

if __name__ == '__main__':
    # Start sassc with  watch
    sass_cmd = subprocess.Popen(['sass', ' watch', 'client/sass' + ':' + 'client/css'])
    ... 

相关问题 更多 >