grunt-usemin:忽略构建块中的脚本

grunt-usemin: ignore a script within build block

我有一堆脚本想要 运行 我在块中定义的(concat,minify)上的一些任务:

<!-- build:js js/app.js -->
<script src="js/app.js" type="text/javascript"></script>
<script src="js/app-dev.js" type="text/javascript"></script>

<script src="js/components/inputForm/inputFormControllers.js" type="text/javascript"></script>
<script src="js/components/inputForm/inputForm.js" type="text/javascript"></script>
<!-- endbuild -->

我想忽略此块中的一个文件 ("js/app-dev.js") - 用于 bootstrap 具有开发配置的应用程序 - 在构建应用程序时。 usemin 是否支持嵌套语句来忽略块中的单个文件?

cejast,usemin 现在不支持这种功能。此功能仅在重写解析以从正则表达式切换到 HTML 解析后可用。我目前正在研究它,但不会很快提供。

另一种选择可能是配置 useminPrepare 以忽略 -dev.js 文件,它可能适合您。

如果您可以将 app-dev.js 放入一个单独的构建块中,您可以尝试只省略对该块应该转到的文件的引用。当我尝试这个时,我成功地构建了我的新索引文件而没有引用不需要的脚本,而其他人在他们自己的块中按预期构建。

<!-- build:js js/app.js -->
    <script src="js/app.js" type="text/javascript"></script>

    <script src="js/components/inputForm/inputFormControllers.js" type="text/javascript"></script>
    <script src="js/components/inputForm/inputForm.js" type="text/javascript"></script>
<!-- endbuild -->

<!-- build:js -->
    <script src="js/app-dev.js" type="text/javascript"></script>
<!-- endbuild -->

当我尝试类似的事情时,我的输出是这样的:

<script src="js/app.js"></script> //Without js/app-dev.js