可以将Stylus配置为编译.css一次,而不是.styl更改吗?

时间:2013-03-19 16:17:20

标签: css node.js production-environment stylus

在开发中,每次重新编译.css .styl更改都非常方便。但在生产方面,我们不希望在每个请求上花费资源进行编译;我们想在app start上编译一次。

可以用这种方式配置手写笔吗?

1 个答案:

答案 0 :(得分: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. 如果是开发模式,那么就像现在一样提供文件。
  3. 如果是生产模式,则预编译css文件并将其作为缩小的css文件输出到目录中。
  4. 将标题HTML中的引用更改为缩小的css文件。