如何在使用Grunt时检测不同文件夹中相同的文件名
How to detect same file names in different folders while using Grunt?
我需要使用grunt编写一个concat脚本。这是我的样板:
___js
|____dist
| |____vents
| | |____carousel.js
| | |____compare.js
| | |____style.js
|____src
| |____events
| | |____carousel.js
| | |____compare.js
| | |____styles.js
| |____handlers
| | |____carousel.js
| | |____compare.js
| | |____style.js
我如何告诉concat任务,将具有相同名称的文件连接到events和handlers文件夹中,并将每个单独的连接对放在dist/vvents目录中?
我也遇到过类似的问题:如果在给定的路径模式中检测到具有相同文件名的文件,我希望我的构建失败。我已经通过编写自定义任务解决了这个问题。你可以使用grunt.file.expan或grunt.ffile.recurse GruntAPI
也许这会对你有所帮助(这是coffeescript而不是js)。
grunt.registerMultiTask "noduplicates", "Detects duplicated filenames", () ->
path = require('path')
dupFilenamesCounted = {}
haveDuplicates = false
options =
cwd: this.data.cwd
grunt.file.expand(options, this.data.src).forEach (filepath) ->
filepathParts = filepath.split(path.sep)
filename = filepathParts.slice(-1).join(path.sep)
unless dupFilenamesCounted[filename] is undefined
dupFilenamesCounted[filename].counter++
dupFilenamesCounted[filename].filepaths.push(filepath)
else
dupFilenamesCounted[filename] = { counter: 0, filepaths: [ filepath ] }
for filename of dupFilenamesCounted
if dupFilenamesCounted[filename].counter > 0
grunt.log.error "Filename: " + filename + ' has ' + dupFilenamesCounted[filename].counter + ' duplicates: ' + dupFilenamesCounted[filename].filepaths
haveDuplicates = true
# Fail by returning false if this task had errors
return false if haveDuplicates
然后你定义你的任务:
noduplicates:
images:
cwd: '<%= pkg.src %>'
src: [ 'static/**/*.{gif,png,jpg,jpeg}' ]
相关文章:
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- 展开和折叠文件夹
- 在ng重复循环中显示来自不同文件夹的图像
- AngularJS-如何列出给定文件夹中的文件名
- 使用文件夹路径名保存所有图像文件和文件名
- 如何在使用Grunt时检测不同文件夹中相同的文件名
- 在 JS 中获取文件名和/或文件夹内容
- VBScript检查文件夹中的文件,并通过电子邮件发送过去1小时未更新的文件名
- 如何在javascript+html中获取文件夹中的所有文件名和子文件夹名
- 如何让JavaScript读取空间文件夹中的文件名
- 获取URL并将文件夹或文件名传递给超链接
- 从具有指定文件夹名称的文件夹结构中获取文件名
- 是否有一种方法可以只使用Javascript从文件夹返回所有图像文件名的列表?
- 从文件夹中获取文件名
- 从浏览器获取上传文件夹和文件名
- 使用 PHP 或 JavaScript 将文件夹中的文件名获取到页面中
- 在包含文件名的路径中获取LAST文件夹的最快方法
- 从ps Java Script中指定的文件夹中获取文件名
- Gulp dest()基于文件名的动态目标文件夹