如何忽略文件grunt uglify
背景
大约30分钟前我刚刚开始使用咕噜声。 所以请忍受我。
但是我有一个相当简单的脚本,它会查看我的js,然后将它压缩到一个文件中。
码
"use strict"; module.exports = function (grunt) { // load all grunt tasks require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { beautify: true, report: 'gzip' }, build: { src: ['docroot/js/*.js', 'docroot/components/pages/*.js', 'docroot/components/plugins/*.js'], dest: 'docroot/js/main.min.js' } }, watch: { options: { dateFormat: function(time) { grunt.log.writeln('The watch finished in ' + time + 'ms at' + (new Date()).toString()); grunt.log.writeln('Waiting for more changes...'); } }, js: { files: '<%= uglify.build.src %>', tasks: ['uglify'] } } }); grunt.registerTask('default', 'watch'); }
题
我的main.min.js每次都被包含在编译中。 意思是我的min.js正在获得2倍,4倍,8倍,16倍等等。最好的方法是添加一个exception,并忽略main.min.js
?
到src数组的末尾 ,添加
'!docroot/js/main.min.js'
这将排除它。 那! 把它变成排除。
http://gruntjs.com/api/grunt.file#grunt.file.expand
匹配从头开始的模式的path! 将从返回的数组中排除。 模式按顺序处理,所以包含和排除顺序是重要的。
这不是特定于grunt uglify,但任何使用grunt约定来指定文件的任务都可以这样工作。
作为一般性build议,尽pipe我会build议把你的源文件放在别的地方。 就像在一个root dist
文件夹中一样。
- NPM与Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack
- 如何在Visual Studio 2015中保存.sass文件
- grunt-contrib-copy中有什么“扩展”选项? 这些例子都使用它,但文档没有说明它的function
- configurationgrunt复制任务以排除文件/文件夹
- 如何在angularjs e2e量angular器testing中上传文件
- 为什么Grunt不把自己添加到shell中?
- 通过Grunt将量angular器与Yeoman集成
- 如何安装grunt以及如何使用它构build脚本
- grunt“test command”在npm init上做了什么?