У меня возникла проблема с компиляцией файлов SASS с помощью libsass. Я могу заставить его компилировать файлы SCSS просто отлично.
У меня есть приложение Flask, я установил libsass и использую привязку libsass sass. Он работает хорошо, но не хватает некоторых функций — он не может скомпилировать SASS, но может скомпилировать SCSS. Вот что я сделал:
В моем файле applicaiton.py у меня есть
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
, которые работают:
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
}
И 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
:
- client
- css
- app.css
- test_scss.css
- библиотека
- sass
- test_sass.sass
- test_scss.scss
- css
- server
- templates
- приложение.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 есть что-то, чего я не понимаю.
sass
,css
должны находиться в папке с именемstatic
. См. здесь дополнительную информацию. - person doru   schedule 28.07.2015app = Flask(__name__,static_url_path="",static_folder=CLIENT_FOLDER)
, гдеCLIENT_FOLDER
— это папкаclient
(CLIENT_FOLDER=os.path.join(os.path.realpath(os.path.dirname(__file__)),"..","client")
) - person Mike   schedule 28.07.2015