通过Express中间件或通过构build系统预处理

通过中间件(使用快递)预处理静态资源是生产环境的一个好主意? 根据我的理解,中间件堆栈是按照每个请求的顺序运行的。 那不是说那个预处理中间会在每个请求之后重新生成一个静态资源(即some_styles.less – > some_styles.css)吗? 如果是这样,预先通过grunt.js等构build系统进行预处理并提供这些文件会更好吗? 我想最终呈现的CSS和JS连接到一个文件,并缩小。

另外,是否值得从仅包含静态内容的页面上的模板(如jade)预渲染html? 或者比它的价值更麻烦?

处理CSS和JS预处理和缩小的最简单的方法就是通过某种构build系统,比如咕噜咕噜,蛋糕等。它也可以提供一些性能上的好处。 至less可以减less服务器的工作量。

对于我的项目,我的Cakefile中有处理CSS和JS的任务。 这些通过运行构build任务来调用,并输出到通过app.use("/res", express.static("RESDIR"))设置的静态文件的目录中。

对于预渲染HTML,它将提供性能优势。 除非这样做是非常复杂的,否则我会继续提前做好你所能做的一切。 要做到这一点比在公路上做起来要简单得多(如果你期望有任何增长,那么未来可能会有所影响)。