我试图弄清楚如何使用早午餐完成以下工作。这是我们应用程序的当前目录结构:

--app
    --base (theme folder, considered the master for all themes)
        --sass
        --js
    --theme2
        --sass
        --js
    --theme3
        --sass
        --js
...so on


基本文件夹用作所有其他主题的母版。但是,如果另一个主题在sass目录或js目录中具有与基本文件夹中的文件匹配的文件,则它将覆盖基本文件夹中的该文件(这也适用于导入)。

到目前为止,我已经创建了this,它可以按需要的方式工作,但是它避开了早午餐管道,因为我写出了文件(当前不支持文件并置),我更喜欢使用适当的早午餐管道来进行此操作。

发生的情况是,它在基本文件夹中遇到的每个sass或js文件都用于生成另一个主题的新文件。例如,说基本主题有一个名为main.scss的文件。传递给编译的路径是base/scss/main.scss。现在,我想对其他主题使用相同的文件,以便获取所有主题文件夹,并针对每个其他主题动态使用此基本main.scss文件。但是,如果其他文件目录中存在文件导入,我也会更改内部导入以替换文件导入。它不是同一文件,被吐到多个位置。

问题是我想动态生成新的CSS文件以供午餐使用,以渲染到与传入的原始路径无关的其他文件夹(以及该路径的joinTo config选项)。通过调用回调,它将自动使用传递给compile方法的原始path参数。

最佳答案

在早午餐配置中使用overrides来更改您的joinTo,使其包含base以及给定的主题。您也可以自定义生成输出目录或每个主题的其他内容(如果有帮助)。然后使用类似brunch build --env theme1的命令分别运行每个版本。

关于node.js - 使用早午餐可以自定义“主题”编译吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32562524/

10-16 17:57