AMD tests

adding a couple of modules and experimenting on how define works.

by f0t0n

HTML

<script src="http://requirejs.org/docs/release/2.1.5/comments/require.js"></script>
<a data-url="HOME" href="#">Home</a>
<a data-url="SIGN_IN" href="#">Sign In</a>
<a data-url="SIGN_UP" href="#">Sign Up</a>
<a data-url="LOG_OUT" href="#">Log Out</a>
<script>
    // This is rendered by your server-side application:
    define('data/config', function(require, exports, module) {
        exports.Url = {
            HOME: 'https://mysite.com',
            SIGN_IN: 'https://mysite.com/sign-in',
            SIGN_UP: 'https://mysite.com/sign-up',
            LOG_OUT: 'https://mysite.com/log-out'
        };
        
        exports.foo = 'bar';
    });
</script>

JavaScript

// This is somewhere in your JavaScript module
require(['data/config'], function(Config) {
    $('a[data-url]').each(function() {
        var $a,
            urlConstant,
            url;
        $a = $(this);
        urlConstant = $a.data('url');
        url = Config.Url[urlConstant];
        if(url) {
            $a.attr('href', url);
        }
    });
});