Grunt task for replacing refs to resources on the Google CDN.
This module makes it easy to replace references to your bower resources in your app with links to the libraries on the Google CDN (and some other CDNs).
Getting started
Install:npm install --save google-cdn
Install CDN data module:
npm install --save google-cdn-data
(see list of more data modules below)Example
bower.json:{
"name": "my-awesome-app",
"dependencies": {
"jquery": "~2.0.0"
}
}
var googlecdn = require('google-cdn');
var bowerConfig = loadJSON('bower.json');
var markup = '<script src="bower_components/jquery/jquery.js"></script>';
googlecdn(markup, bowerConfig, {cdn: require('google-cdn-data')}, function (err, result) {
if (err) {
throw err;
}
assert.equal(result,
'<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>');
});
API
googlecdn(content, bowerJson, options, callback)
Replaces references to libraries supported by the Google CDN incontent
.
The library versions are inferred from the bowerJson
.options
is an optional object with these keys:-
componentsPath
: defaults to bower_components
, the path you specify inyour script tags to the components directory.
- cdn
: defaults to require('google-cdn-data')
. CDN you want to use. Object of the following format:```javascript {
jquery: {
versions: ['2.0.3', '2.0.2', '2.0.1', '2.0.0'],
url: function (version) {
return '//my.own.cdn/libs/jquery/' + version + '/jquery.min.js';
}
}
}
```Used by
CDN data modules
Debugging
You can turn on debugging by setting theDEBUG
environment variable to
google-cdn
. E.g.env DEBUG='google-cdn' grunt cdnify