我正在寻找一个相当简单的工具集和工作流程,以便将Sass合并到我的Django项目中。我主要关注后端,刚刚开始调查Sass,所以请耐心等待。
我最初的想法是通过使用node-sass来保持简单,而不是尝试合并Gulp,django-pipeline或其他任何东西。
我的Django应用程序通常是这样构建的,即我在每个应用程序中创建一个static/app/css
文件夹。我想一个选项现在是为scss文件创建一个额外的文件夹,即:static/app/scss
。问题是,在生产中运行collectstatic时,也会收集scss文件。那么每个应用程序的scss文件应该保存在其他地方吗? (我想如果在collectstatic运行时包含scss文件并不重要吗?)
接下来,在我的Django项目文件夹之外,我会创建一个文件夹来安装node-sass
,因为我不想全局安装它而我不想要node-modules
文件夹在我的Django项目或内部源代码控制中。
我想node-modules文件夹可以被认为是使用python virtualenv而不是全局安装包?
接下来,在我的Django项目的某个地方(不知道在哪里?)我将package.json
文件包含我想要编译为css的每个scss文件的脚本部分,例如:
"scripts": {
"compile:sass": "node-sass app1/static/app1/scss/style.scss app1/static/app1/css/style.css",
"compile:sass": "node-sass app2/static/app2/scss/style.scss app2/static/app2/css/style.css",
"compile:sass": "node-sass app3/static/app3/scss/style.scss app3/static/app3/css/style.css"
}
最后,我会运行带有watch标志的compile:sass来不断编译我工作的任何文件并将它们放在正确的文件夹中。
所以我的问题是,上面的设置是一个好的方法(至少最初如果我还没准备好添加另一个工具,如Gulp等混合)?
另外,我将如何运行compile:sass考虑到我的package.json文件将在某个地方的Django项目中,并且包含node-modules
安装的node-sass
文件夹将位于其他地方。
答案 0 :(得分:0)
我帮助维护node-sass,所以我不会说不使用它。如果您正在使用Python,则可能需要查看替代的libsass-python。
答案 1 :(得分:0)
签出django-sass-processor软件包。它很容易配置和使用。我已经使用过几次,并且在使用方面有很好的经验。该软件包将Gulp抽象化,因此您不必担心它,并简化了整个过程。
这是有关how to integrate django-sass-processor的Django项目的教程。