Importer adds an #import statement to JavaScript based languages including CoffeeScript that works like #include in C-based languages. It concatenates them together in the places you've defined.
This plugin requires Grunt ~0.4.1
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-importer --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-importer');
In your project's Gruntfile, add a section named importer
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
importer: {
scripts: {
files: [{
expand: true,
src: 'scripts/layout.template.js',
rename: function (dest, src) {
return (dest || '') + src.replace('.template.js', '.js');
}
}]
},
},
})
In this example the script would be replaced in-place with any import statements substituted for their references.
grunt.initConfig({
importer: {
scripts: {
files: [{ src: 'tmp/replace_single_file/foo.js' }]
}
},
})
In this example the dynamic file expanding object is used to output the results to a different folder using a different file name:
grunt.initConfig({
importer: {
scripts: {
files: [{
expand: true,
flatten: true,
src: 'test/fixtures/foo.template.js',
dest: 'tmp/different_output_folder_and_rename/',
rename: function (dest, src) {
return (dest || '') + src.replace('.template.js', '.js');
}
}]
},
},
})
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.
- 2013-10-04 v1.0.0 Initial release
- 2013-10-04 v1.0.1 Removed debug output