我正在尝试编写一个grunt任务,它将遍历一组输入文件并对每个文件运行转换。假设输入文件由*.in给出,任务将为每个文件创建一个.out文件。根据我的阅读,配置似乎应该是这样的grunt.initConfig({my_task:{src:'C:/temp/*.in',dest:'C:/temp/output/*.out'}});任务注册应该是:grunt.registerTask('my_task','iteratefiles',function(){//iteratefiles.});我不知道如何让grunt向我发送文件列表并遍历它们。知道怎么做吗? 最佳
在angularjs中,我们将参数作为依赖注入(inject)传递。例如,functioncheckInCtrl($scope,$rootScope,$location,$http){…..….}所以当它被缩小时,它就变成了,functioncheckInCtrl(a,b,c,d){}现在a,b,c,d不会被Angular分别解释为$scope,$rootScope,$location,$http并且整个代码无法工作。为此angularjs提供了一种解决方案,就是checkInCtrl.$inject=['$scope','$rootScope',$location','$http']
这是我第一次使用Grunt,我想让它结合我所有的js模块,每个模块都包装在一个立即执行的函数中,包含一个“usestrict”声明并将它们放入一个文件中,包装只有一个立即执行的函数,只有一个“使用严格”声明。这通常是如何完成的?我认为这是一个常见的用例?也许我以错误的方式处理事情?我是否应该使用其中一种模块加载格式(即commonjs、amd)所有这些文件将始终一起加载到浏览器中,所以如果人们通常这样做的话,我实际上不介意删除所有立即执行的函数。重要的部分是最终结果以某种方式包装,通过lint和单元测试并包含“使用严格”声明。(我应该澄清一下,我确实让它工作、检查、单元测试、连接和缩小
我已经编写了一个函数,我想将其用作Grunt任务。我可以通过将其添加到Gruntfile中来做到这一点:grunt.registerTask('foo',function(){//codehere});但是,将功能代码保存在单独的文件中更有意义。我计划定义一堆这样的自定义任务,我不想让Gruntfile膨胀。我不确定注册此类任务的首选方式是什么。我发现这个工作:grunt.registerTask('foo',function(){require('./path/to/foo.js')(grunt);});因此,我使用了第一个示例中的内联函数,但这次,我加载了一个外部文件并立即调用它。
我在我的项目中使用了grunt-uglify,并且我正在使用es6。对于某些es6功能,例如粗箭头功能,它会抛出错误。我认为uglify不理解这种语法。我有办法解决这个问题吗?我的意思是我可以使用任何东西让uglify理解所有es6语法吗? 最佳答案 您可以使用grunt-contrib-uglify的harmony分支。npminstallgit://github.com/gruntjs/grunt-contrib-uglify.git#harmony--save-dev与es6完美配合。不需要额外的grunt设置。
我使用yeoman使用“yowebapp”创建我的结构,我在安装过程中通过npm排除了所有额外内容并手动下载了引导文件。我正在尝试运行“gruntbuild”命令,该命令应该获取app文件夹(及其子文件夹和它们的子文件夹等)中的所有内容,并创建、编译、连接和缩小文件到dist文件夹中父目录(与应用程序在同一级别),我相信任何使用过yeoman和grunt的人都知道。出于某种原因,它不会这样做,我已经尝试更改gruntfile中的默认路径等,以尝试使其工作,但它无法正常工作(老实说,它没有workatall更合适,即使它在cmd中说它确实如此)。它现在根据cmd完成构建任务(之前没有,声
我正在尝试让grunt-contrib-less为我编译一个less文件。我有以下gruntfile:less:{files:{"httpdocs/static/assets/css/result.css":"httpdocs/static/assets/css/dashboard.less"}},路径绝对正确,我已经三次检查这些文件是否存在,但是,当我运行grunt时,我收到以下消息:Running"less:files"(less)task>>Destinationnotwrittenbecausenosourcefileswereprovided.我的gruntfile缺少什么才
我有一个grunt任务,它使用grunt.option('foo')查看选项。如果我从grunt.task.run('my-task')调用此任务,我该如何更改这些参数?我正在寻找类似的东西:grunt.task.run('my-task',{foo:'bar'});相当于:$gruntmy-task--foo'bar'这可能吗?(Thisquestion是我遇到的另一个问题,但并不完全相同,因为在这种情况下我无法访问原始任务的Gruntfile.js。) 最佳答案 如果您可以使用基于任务的配置选项而不是grunt.option,这
我还没有找到一种好方法来grunt-uglify分布在多个文件夹中的多个脚本文件,同时保持包括uglified文件在内的文件夹结构完好无损。我想这样做的唯一原因是能够提高我正在处理的网页的“遗留”部分的性能。我找到了一种我不想做的解决方法,因为这会花费很多时间,那就是像这个答案中那样做(他们分别指定每个src和dest对):howtoconfiggrunt.jstominifyfilesseparately我想要实现的一个例子:**srcdir(nouglifyapplied):**src|-app1|-randomFile.js|-scripts|-file1.js|-file2.j
第一次使用这个任务,我想要实现的是:将所有目录/文件从src/js/bower_components/*复制到build/assets/js/vendor/我试过使用cwd属性,但是当我使用它时它根本不起作用。我将它设置为:src/js/bower_components/来自src.├──Gruntfile└──src└──js└──bower_components└──jquery我目前得到:.├──Gruntfile└──build└──assets└──js└──vendorsrc└──js└──bower_components└──jquery我想要什么.├──Gruntfil