cwd中的Grunt JS文件模式

时间:2014-07-29 20:49:39

标签: build gruntjs cwd

我正在使用grunt构建我的项目并具有以下src结构:

app/src/client/pages/user/users.js
app/src/client/pages/user/users.html

app/src/client/pages/project/projects.js
app/src/client/pages/user/projects.html

现在,我正在尝试构建我的项目:

app/dist/client/users.html

我使用contrib-htmlmin插件,我的grunt配置如下所示:

htmlmin: {
            options: {
                    removeComments: true,
                    collapseWhitespace: true
            },      
            partials: {
                files: [
                    {
                        expand: true,
                        cwd: "app/src/client/pages/*/",
                        dest: "app/dist/client/",
                        src: ["*.html"]
                    }
                ]
            }

但这根本不起作用,没有文件正在被捏造。 有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我可以说,Grunt不会扩展cwd中的模式,所以你的选择

cwd: "app/src/client/pages/*/",

永远不会转换为匹配目录数组。

您可以通过启动at this line in the source来遵循我的逻辑来得出这个结论。 grunt.file.expandMappingsource here)未在grunt.file.expand模式上致电cwd

这并不意味着你不能自己做。当我将sass文件分布在几个目录中时,我使用了以下模式来完成与grunt-contrib-sass类似的操作:

htmlmin: {
    options: {
            removeComments: true,
            collapseWhitespace: true
    },      
    partials: {
        files: grunt.file.expand(['app/src/client/pages/*/']).map(function(cwd) {
            return {
                expand: true,
                cwd: cwd,
                dest: "app/dist/client/",
                src: ["*.html"]
            };
        }),
    }