|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- # RequireJS plugins
-
- Small set of plugins for [RequireJS](http://requirejs.org). Some plugins may
- also work on other AMD loaders (never tested it).
-
- For more plugins check [RequireJS Wiki](https://github.com/jrburke/requirejs/wiki/Plugins).
-
-
- ## Install
-
- You can use [bower](http://bower.io/) to install it easily:
-
- ```
- bower install --save requirejs-plugins
- ```
-
-
-
- ## Plugins
-
- - **async** : Useful for JSONP and asynchronous dependencies (e.g. Google Maps).
- - **font** : Load web fonts using the [WebFont Loader API](https://code.google.com/apis/webfonts/docs/webfont_loader.html)
- (requires `propertyParser`)
- - **goog** : Load [Google APIs](http://code.google.com/apis/loader/)
- asynchronously (requires `async!` plugin and `propertyParser`).
- - **image** : Load image files as dependencies. Option to "cache bust".
- - **json** : Load JSON files and parses the result. (Requires `text!` plugin).
- - **mdown** : Load Markdown files and parses into HTML. (Requires `text!`
- plugin and a markdown converter).
- - **noext** : Load scripts without appending ".js" extension, useful for
- dynamic scripts.
-
- ### Other
-
- - **propertyParser** : Just a helper used by some plugins to parse
- arguments (not a real plugin).
-
-
-
- ## Documentation
-
- check the `examples` folder. All the info you probably need will be inside
- comments or on the example code itself.
-
-
-
- ## Basic usage
-
- Put the plugins inside the `baseUrl` folder (usually same folder as the main.js
- file) or create an alias to the plugin location:
-
- ```js
- require.config({
- paths : {
- //create alias to plugins (not needed if plugins are on the baseUrl)
- async: 'lib/require/async',
- font: 'lib/require/font',
- goog: 'lib/require/goog',
- image: 'lib/require/image',
- json: 'lib/require/json',
- noext: 'lib/require/noext',
- mdown: 'lib/require/mdown',
- propertyParser : 'lib/require/propertyParser',
- markdownConverter : 'lib/Markdown.Converter'
- }
- });
-
- //use plugins as if they were at baseUrl
- define([
- 'image!awsum.jpg',
- 'json!data/foo.json',
- 'noext!js/bar.php',
- 'mdown!data/lorem_ipsum.md',
- 'async!http://maps.google.com/maps/api/js?sensor=false',
- 'goog!visualization,1,packages:[corechart,geochart]',
- 'goog!search,1',
- 'font!google,families:[Tangerine,Cantarell]'
- ], function(awsum, foo, bar, loremIpsum){
- //all dependencies are loaded (including gmaps and other google apis)
- }
- );
- ```
-
-
- ## Removing plugin code after build
-
- [r.js](https://github.com/jrburke/r.js/blob/master/build/example.build.js)
- nowadays have the `stubModules` setting which can be used to remove the whole
- plugin code:
-
- ```js
- ({
- // will remove whole source code of "json" and "text" plugins during build
- // JSON/text files that are bundled during build will still work fine but
- // you won't be able to load JSON/text files dynamically after build
- stubModules : ['json', 'text']
- })
- ```
-
-
- ## Notes about the Markdown plugin
-
- The Markdown plugin was created mainly to be used to compile the markdown files
- into HTML during the build step, if you set `pragmasOnSave.excludeMdown=true`
- it will remove the `Markdown.Converter.js` and `mdown.js` files from the build.
- Example build settings:
-
- ```js
- ({
- baseUrl : './',
- pragmasOnSave : {
- excludeMdown : true
- },
- paths : {
- mdown : 'lib/requirejs/mdown',
- text : 'lib/requirejs/text',
- markdownConverter : 'lib/Markdown.Converter'
- },
- modules : {
- name : 'main'
- }
- })
- ```
-
- If `excludeMdown=true` you won't be able to load markdown files dynamically
- after the build.
-
-
-
- ## Writing your own plugins
-
- Check [RequireJS documentation](http://requirejs.org/docs/plugins.html) for
- a basic reference and use other plugins as reference. RequireJS official
- plugins are a good source for learning.
-
- Also be sure to check [RequireJS Wiki](https://github.com/jrburke/requirejs/wiki/Plugins).
-
-
-
- ## Author
-
- [Miller Medeiros](http://blog.millermedeiros.com/)
-
-
-
- ## License
-
- All the plugins are released under the MIT license.
|