从我可以确定的node-sass-middleware我用于编译Express中的.scss
个文件,每次重新编译.css
个文件中的.scss
个文件请求已送达。
这对于生产环境来说并不理想,我更倾向于只在文件自上次编译后发生变化时才重新编译。我认为通过某种方式嗅探目标文件夹/文件是可能的,但我想知道是否有一种直接的方法来实现这一点,我不知道。可能是node-sass
的标志或者我缺少的东西,虽然我在文档中找不到任何内容。
有可能每次都没有重新编译,但我不确定如何测试。
希望有人可以帮忙!三江源!
答案 0 :(得分:0)
因此,在提交我的问题之后我很快就发现我可以检查文件的maxItemId
元数据以确定文件是否已被重新编译。糟糕。
我做了一个测试:
last modified
文件.css
文件的.css
时间last modified
时间与前一时间进行比较,但未发现任何更改last modified
文件.scss
时间并发现它已更改,此外还有页面上反映的样式更改因此,我得出结论:last modified
以某种方式检测到没有进行任何更改,并且没有不必要地重新编译Sass,这很有用。我想这与它在RAM中缓存CSS文件的能力相结合,这是一个非常有效的解决方案。
注意:我已经做了一些进一步的测试,发现即使没有对node-sass-middleware
文件进行任何更改并且现有{{1},重新启动应用程序也会导致重新编译Sass文件完全有效。这表明它比仅仅嗅探文件夹/文件内容稍微多一些。
答案 1 :(得分:0)
每次处理请求时,从我的
.css
文件中重新编译.scss
个文件。
可选配置:
force
-[true | false]
,默认为false。始终重新编译。
我想您可以使用您的环境变量来防止.scss
在生产模式下重新编译...