grunt-antrol-concat
v0.3.1
Published
Concatenate cmd files , Fork from grunt-cmd-concat
Downloads
3
Readme
grunt-cmd-concat
Concatenate cmd files.
Getting Started
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-cmd-concat --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-cmd-concat');
The "concat" task
Overview
In your project's Gruntfile, add a section named concat
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
concat: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
Options
options.paths
Type: Array
Default value: ['sea-modules']
Where are the modules in the sea.
options.include
Type: String
Default value: 'self'
Optional values:
- self
- relative
- all
How should it include its dependencies.
options.separator
Type: String
Default value: ', '
A string value that is used to do something with whatever.
options.banner
Type: String
The banner of the concated files.
options.footer
Type: String
The footer of the concated files.
options.noncmd
Type: Boolean
Default Value: false
If set true, it will be treated as a noncmd file.
options.uglify
Type: Object
Uglify prettifier, you really don't have to change this value.
options.processors
Type: Object
Processors are functions to find the related files to concat.
options.css2js
Type: Function
Default value: null
If a javascript module required a css, the css should be transported to js.
You can get a css2js function from grunt-cmd-transport
:
var style = require('grunt-cmd-transport').style.init(grunt);
grunt.initConfig({
concat: {
foo: {
options: {
css2js: style.css2js
}
}
}
});
options.split
Type: Object
Default Value:
{
turnOn:false,
limit:100,
exlucde:null
}
if you want to split concated files into small pieces,put split.turnOn=true,and set split.limit , for example limit:100 means that when exceeds 100KB,it will create a file,if original file is home.js , it will create home1.js,home2.js,...,homex.js,etc.
if you have some async files you do not want to use for split , you can specify them by exclude param , for example , exclude : '/async/', so if the file path includes async , it will not split.
Usage Examples
Simple Concat
This is the same as grunt-contrib-concat
.
grunt.initConfig({
concat: {
foo: {
options: {
noncmd: true
},
files: {
'dist/a.js': ['src/a.js', 'src/b.js'],
}
}
}
})
Relative Concat
This will include all relative dependencies.
You should transport your modules first, make sure your modules contain id and dependencies.
Get transport task.
grunt.initConfig({
concat: {
foo: {
options: {
include: 'relative'
},
files: {
'dist/a.js': ['src/a.js', 'src/b.js'],
}
}
}
})
The a.js
is something like:
define('a', ['./c'], ...)
And the result should be the concat of a.js
, c.js
and b.js
.
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Release History
July 8th, 2013 0.2.5
fix pkg not exist
June 27th, 2013 0.2.4
css2js need options
June 18th, 2013 0.2.3
- Bugfix for css concat. #15
April 23th, 2013 0.2.2
- Bugfix. Remove output detect.
April 16th, 2013 0.2.1
- Add options.footer
- Add options.noncmd
April 11th, 2013 0.2.0
- Remove options.relative
- Add options.include
April 10th, 2013 0.1.1
- Update
cmd-util
- Bugfix
April 1st, 2013 0.1.0
First version.