2013-03-19 91 views

回答

0

SocketStream拥有一个资产打包器,而不是在生产模式下预编译css,js和模板文件。也许可以使用这种模式来检查环境变量(开发或生产),然后服务于即时编译的文件集,或者是首次启动节点时预先打包的一组资源(即编译你的css,然后使用fs模块将它们写入磁盘)。

以下是从socketstream的stylus module采取:

stylus(input, {filename: path, paths: [dir.join('/')]}) 
    .render(function(err, css) { 
    if (err) { 
    console.log(err); 
    } 
    cb(css); 
}); 

在CB方法是用于供给fs.writeFileSync调用发生在编译的文件回调。所以,最后你有4个部分:

  1. 检查应用程序启动时的环境变量。
  2. 如果是dev模式,那么就像现在一样提供文件。
  3. 如果是生产模式,那么预编译css文件并将它们作为缩小的css文件输出到目录中。
  4. 将头HTML中的引用更改为缩小的CSS文件。
+0

谢谢。你能举例说明如何做到这一点的代码? – mcandre 2013-03-19 18:25:15

+0

当然,我在答案中增加了更多细节。 – Deif 2013-03-20 08:15:53

相关问题