grunt-requirejs-map v1.0.1
grunt-requirejs-map
Generate dependencies of required file for requirejs.
Getting Started
This plugin requires Grunt ~0.4.5
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-requirejs-map --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-requirejs-map');
The "requirejs_map" task
Overview
In your project's Gruntfile, add a section named requirejs_map
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
requirejs_map: {
your_target: {
options: {
// Task-specific options go here.
},
// Target-specific file lists go here.
},
},
});
Options
options.assetsDir
Type: String
Default value: ''
Assets direction.
options.mainConfigFile
Type: String
Default value: 'require-config.json'
Config of Requirejs, must be json format.
{
"paths": {
"foo": "assets/basic/js/foo",
"bar": "assets/basic/js/bar",
"wx": "http://res.wx.qq.com/open/js/jweixin-1.0.0",
"jquery": "assets/basic/jquery",
"core": "assets/basic/core",
"main": "assets/js/main"
},
"shim": {
"foo": {
"deps": ["jquery"],
"exports": "foo"
},
"bar": ["jquery"]
}
}
options.dest
Type: String
Default value: './tmp/require-config.json'
Destination file path.
Usage Examples
Default Options
grunt.initConfig({
requirejs_map: {
options: {}
},
});
Output json file
You will get a json file like this:
{
"paths": {
"foo": "assets/basic/js/foo",
"bar": "assets/basic/js/bar",
"wx": "http://res.wx.qq.com/open/js/jweixin-1.0.0",
"jquery": "assets/basic/jquery",
"core": "assets/basic/core",
"main": "assets/js/main"
},
"shim": {
"foo": {
"deps": [
"jquery",
"bar"
],
"exports": "foo"
},
"bar": {
"deps": [
"jquery"
]
},
"main": {
"deps": [
"foo"
]
}
}
}
Custom Options
grunt.initConfig({
assetsDir: 'test/fixtures/',
requirejs_map: {
custom_options: {
options: {
assetsDir: '<%= assetsDir %>',
mainConfigFile: 'require-config.json',
dest: 'tmp/custom.json'
}
}
},
});
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
version 1.0.1