Create a gist now

Instantly share code, notes, and snippets.

loading using require.js
// Require.js allows us to configure shortcut alias
// The shim config allows us to configure dependencies for
// scripts that do not call define() to register a module
shim: {
'socketio': {
exports: 'io'
'underscore': {
exports: '_'
'backbone': {
deps: [
exports: 'Backbone'
paths: {
jquery: 'jquery.min',
underscore: 'lodash.min',
backbone: 'backbone',
socketio: '../',
], function( $, Backbone, io ) {
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
socket.emit('my other event', { my: 'data' });
//Ready to write Backbone Models and communication protocol in here :)

Thanks this helped me get that working.


This saved me a lot of frustration! Thanks!


my lazyness thanks you :)




The most recent version of (0.9.16) is AMD compatible, so you don't need to do much at all. For my application the server is on a different domain, so we can include the path argument to pull the script from the correct location, but if it's on the same domain you could just require \\

    // serves up the script ready to go. has the following lines:
    // if (typeof define === "function" && define.amd) {
    //   define([], function () { return io; });
    // }

    // All we need to do is tell it the path to our server:
        paths: {
            socketio: ''

    require(['socketio'], function(io) {
        var socket = io.connect('');
        console.log('socket connected');

thanks very much :)


Thanks !! Solved my issue!


great! Thanks very much!


Thanks!! ><


yup, thanks!


thanks 😄


thanks a lot for this tip!!!


Thanks! Fixed my issue.


Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment