在Mimosa中自定义无引导文件的最佳方法是什么?

时间:2014-10-01 20:53:49

标签: twitter-bootstrap mimosa

我正在开发一个项目,我必须自定义bootstrap less文件。我已经找到了一种方法,使用mainOverRide和复制排除,使用含羞草。但它非常草率。

这是配置

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"]
    }
}
}

这会将bootstrap less文件复制到我的css / vendor / bootstrap

然后我做的是将我的自定义较少的文件放入css目录ex:custom.less或variables.less。然后我去编辑bootstrap.less文件以导入我的新自定义文件。

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

1 个答案:

答案 0 :(得分:1)

几个选项:

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

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