当前,我有一个像这样的项目文件夹结构: (实际上,这有点复杂,但是我认为这解决了关键问题)
project/
|----assets/
| |----scss/ # Compiles to static/css/
| |----js/ # Minified to static/js/
|
|----static/
| |----css/
| |----js/
|
|-----app_a/
| |----templates/
| |----file_a1.html
| |----file_a2.html
| |----file_a3.html
|
|-----app_b/
|----templates/
|----file_b1.html
|----file_b2.html
|----file_b3.html
此刻,我的SCSS文件分解如下(不一致):
我希望对其进行重构以进行清理。我read this answer about multiple CSS files解释了一个大CSS文件的优点,这要归功于HTTP2。实际上,人们建议拆分文件,因为并发会更快。
因此,每个(Django)应用程序将有一个CSS文件。
我发现最难处理的部分是样式和javascript,它们仅适用于单个页面。 (免责声明:是的,我使用SCSS占位符和扩展名,并且具有适当的框架)。
我当时想取出所有嵌入的样式/脚本,然后将它们放在与模板相对应的单个文件中。我已经仔细搜索了Django Compressor和朋友,并决定不使用这些解决方案。还要拆分用于多个模板的scss文件,但是每个模板的样式都是独立的。
使用一个与模板相关的SCSS和JS文件的问题是,它们位于远离模板目录的较远目录中,我觉得将SCSS / JS放在模板目录中将使其保持同步变得更加容易。 ed并跟踪发生了什么。
想到在.scss
目录中放置.js
和templates/
文件的想法使我看起来很奇怪,但对我来说似乎是个好主意。
所以新结构如下:
project/
|
|----assets/
| |----css/
| | |----base.css
| |
| |----js/
| |----base.js
|
|----static/
| |----css/
| | |----base.css
| | |----app_a.css
| | |----app_b.css
| | |----app_c.css
| |
| |----js/
| |----base.min.js
| |----app_a.min.js
| |----app_b.min.js
| |----app_c.min.js
|
|-----app_a/
| |----templates/
| |----file_a1.html
| |----file_a1.scss
| |----file_a1.js
| |----file_a2.html
| |----file_a2.js
| |----file_a2.scss
| |----file_a3.html
| |----file_a3.scss
| |----file_a3.js
|
... the same for app_b etc
这是我能想到的最好的方法,但是感觉不对。 “没有顾问,计划就会失败,但是有了许多顾问,他们才能成功。” ...那么是否有其他推荐的结构或原因,为什么不将scss / js混入模板目录?