grunt-contrib-clean删除除一个文件夹及其内容之外的所有文件夹/文件

mtp*_*ltz 4 javascript node.js gruntjs

你会如何使用grunt-contrib-clean来否定特定文件夹的清理.否定比赛似乎不起作用.

clean: {
    plugins: [ 
        'app/plugins/myplugin',
        '!app/plugins/myplugin/assets'
    ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的否定模式,例如:

'!app/plugins/myplugin/assets'
'!app/plugins/myplugin/assets/**'
Run Code Online (Sandbox Code Playgroud)

以及在重要的情况下反转阵列中的位置.似乎无法保持clean上的资产文件夹/内容.assets文件夹包含jQuery,AngularJS和内置的Bootstrap(SASS),我不想继续复制/构建,这似乎是浪费时间.

Con*_*Map 11

我快速设置了一个像你引用的文件夹结构,并尝试了以下内容,这对我有用:

clean: {
    options: {
        'no-write': true
    },
    plugins: ['app/plugins/myplugin/**/*', '!app/plugins/myplugin/assets/**']
}
Run Code Online (Sandbox Code Playgroud)

第一个通配符选择myplugin文件夹和所有子文件夹(但不是目录myplugin本身!)中的所有文件,而否定取消选择整个资产目录,包括所有子文件夹和文件.

您应该删除选项字段以进行实际测试,因为no-write: true它只模拟干净但实际上不删除文件.

希望有所帮助!