【问题标题】:How can I run a task in Grunt using an array of filenames which are dynamically generated?如何使用动态生成的文件名数组在 Grunt 中运行任务?
【发布时间】:2014-04-11 19:25:00
【问题描述】:

我对使用 Grunt 很陌生,但对如何安装和运行任务有相当好的了解。到目前为止,我可以随心所欲地运行一切,包括缩小 js、复制文件和运行 jshint。

我现在想运行“清理”以从文件夹中删除文件,但只删除我希望动态生成的选定文件数组。

如果我有一个动态生成的数组,例如

var deleteFilenames = ["file3.js","file2.jpg","file7.html"] etc.

如何设置一个 grunt clean 任务来删除这些文件?

非常感谢任何帮助。

【问题讨论】:

    标签: javascript arrays node.js gruntjs


    【解决方案1】:

    您可以尝试使用通配符:

    clean: ["file*"]
    

    如果您想要更干净的东西,您应该包含您的Gruntfile.js 或尝试将您生成的资产输出到特定目录(例如dist/)。

    【讨论】:

    • 谢谢,但文件名会有所不同,因此文件名不会有任何相似之处。即'image2.jpg''page1.html''video.mp4'
    【解决方案2】:

    您可以使用变量来构造传递给initConfig的配置:

    var deleteFilenames = ["foo", "bar", "baz"];
    grunt.initConfig({
        clean: deleteFilenames
    });
    

    在上面的代码中,列表是静态的,但deleteFilenames 可以通过计算文件名的算法构建。

    【讨论】:

    • @user3197788 如果你接受了这个答案,你也可以投票 +1 并给回答它的人更多的爱。 ;)
    • 我试过了,但它不会让我,因为我有少于 15 个代表
    • @user3197788;那我就做吧:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多