0

我正在做一个项目,我必须自定义引导较少的文件。我想出了一种方法来使用 mainOverRide 和复制排除来处理 Mimosa。但它相当草率。

这是配置

exports.config = {
    "modules": [
    "copy",
    "jshint",
    "csslint",
    "require",
    "minify-js",
    "minify-css",
    "live-reload",
    "less",
    "bower"
],
watch: {
    sourceDir: "src",
    compiledDir: "website",
    javascriptDir: "js"
},
vendor: {
    javascripts: "js/vendor",
    stylesheets: "css/vendor"
},
bower: {
    copy: {
        mainOverrides: {
            "bootstrap": [
                "dist/js/bootstrap.js",
                {"less":"bootstrap/less"},
                {"less/mixins":"bootstrap/less/mixins"}
            ],
            "font-awesome": [
            { "fonts": "fonts" },
                "css/font-awesome.css",
                "css/font-awesome-ie7.css"
            ]
        },
        exclude: ["css/vendor/bootstrap/less"]
    }
}
}

这会将引导较少的文件复制到我的 css/vendor/bootstrap

然后我所做的就是将我的自定义 less 文件放入 css 目录中,例如:custom.less 或 variables.less。然后我去编辑 bootstrap.less 文件以导入我的新自定义文件。

所以我的问题是......有没有更好的方法?我觉得这有点草率。我觉得好像我错过了一种使用 Mimosa 使用自定义引导文件的更简单方法。

4

1 回答 1

1

几个选项:

  • 如果您必须进行的更新很小,那么您可以引入一个构建步骤来执行您的修改。您可以使用adhoc-modules来处理文件并对其进行修改。这是一个在构建过程中修改 d3 的模块:https ://github.com/dbashford/mimosa-d3-on-window ,使用这种方法可以让您保持供应商库的原始状态,同时引入一个可重复的构建步骤,为您执行修改.

  • 如果您需要以主要方式更新较少的文件,最好不要使用 Bower,而只需将代码放在 Bower 之外的存储库中即可。通过您的修改,您显然会在运行和重新运行 Bower 以及覆盖您所做的自定义时遇到问题。

于 2014-10-06T21:05:20.510 回答