首页 > 解决方案 > 如何将动态生成的 CSS 传递给 Sass?

问题描述

我有一大块动态生成的 CSS 我想包含在通过sass.renderSync. 如何将 CSS 提供给 Sass,然后在输出中发出?由于 Sass 的调用方式,我无法将任何修改写入磁盘,因此我无法将 CSS 添加到主 Sass 文件或发出要包含的新 Sass 文件。

这是我正在尝试做的一个简化示例:

应用程序.js

const css = ".main { font-family: sans-serif; }";
const generatedCss = sass.renderSync({ file: "styles/index.scss" });

样式/index.scss

body { margin: 0; }
// I want to include `css` here

标签: sass

解决方案


您可以在执行之前将动态 css 附加到您传入的文件中sass.renderSync

const fs = require('fs')
const sass = require('node-sass')

const css = '.main { font-family: sans-serif; }'
fs.appendFile('styles/index.scss', css, (err) => {
  if (err) throw err
  const generatedCss = sass.renderSync({ file: "styles/index.scss" });
})

推荐阅读