可以使用 brunch 自定义 'themes' 编译吗?

Custom 'themes' compilation possible using brunch?

我正在尝试弄清楚如何使用早午餐来完成以下任务。这是我们应用程序的当前目录结构:

--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 配置选项无关)。通过调用回调,它会自动使用传递给编译方法的原始路径参数。

在您的 b运行ch-config 中使用 overrides 来更改您的 joinTos 以包含 base 加上给定的主题。如果有帮助,您还可以为每个主题自定义构建输出目录或其他任何内容。然后 运行 每个单独构建使用像 brunch build --env theme1.

这样的命令